Changes between Initial Version and Version 1 of AutoEscapingProposals


Ignore:
Timestamp:
Apr 17, 2007, 6:57:41 AM (18 years ago)
Author:
Simon G. <dev@…>
Comment:

Added page about the various proposals

Legend:

Unmodified
Added
Removed
Modified
  • AutoEscapingProposals

    v1 v1  
     1= Auto-Escaping Proposals =
     2
     3This is a list of the various Autoescaping proposals to protect against Cross-Site Scripting. See [wiki:AutoEscaping], [http://groups.google.com/group/django-developers/browse_thread/thread/206b0ba41c2229b7 django-dev] for discussion.
     4
     5If you want to vote for one of these alternatives, please choose the one that you would prefer and place your name after the '''Votes''' part.
     6
     7
     8== 1: Nothing ==
     9
     10Let the developer deal with it.
     11
     12'''Pros''':
     13
     14 * Backwards Compatible
     15 * "Pure",
     16 * Already implemented. yay!
     17
     18'''Cons''':
     19
     20 * Prone to XSS,
     21
     22'''Votes''':
     23
     24
     25
     26== 2: A context Autoescape Toggle ==
     27
     28"adding a new property to the Context class, called autoescape. This defaults to being set to True, but can be toggled either in view functions or by {% autoescape off %} blocks in templates. The VariableNode render() method then uses this context flag to decide if escaping should be performed or not". See [wiki:AutoEscaping]
     29
     30'''Pros''':
     31 * Safe
     32 * Easy for template author to toggle.
     33
     34'''Cons''':
     35 * "Magic",
     36 * will require some way of marking strings in Django as "escaped"
     37 * will need lots of rewriting of existing templates
     38 * Backwards Incompatible
     39
     40'''Votes''':
     41
     42
     43== 3: Add a "finalfilter" ==
     44
     45Provide a {% finalfilter %} block tag to automatically add filters (for html escaping, |escape) to any variable tag defined within the block. See [wiki:AutoEscape%20alternative]
     46
     47'''Pros''':
     48 * Safe
     49 * Easy for template author to use.
     50 * Backwards Compatible
     51 * Allows use of other escapers as a finalfilter so not just HTML
     52
     53'''Cons''':
     54 * What would be the default status?
     55
     56
     57'''Votes''': Simon G.
     58
Back to Top