Ignore:
Timestamp:
Apr 22, 2008, 1:37:50 AM (16 years ago)
Author:
ecprice
Message:

Avoid html injection.

Cheetah is painful.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/sipb-xen-www/code/main.py

    r446 r447  
    1212import sys
    1313import time
     14import urllib
    1415from StringIO import StringIO
    1516
     
    5960checkpoint = Checkpoint()
    6061
     62def jquote(string):
     63    return "'" + string.replace('\\', '\\\\').replace("'", "\\'").replace('\n', '\\n') + "'"
    6164
    6265def helppopup(subj):
    6366    """Return HTML code for a (?) link to a specified help topic"""
    64     return ('<span class="helplink"><a href="help?subject=' + subj +
    65             '&amp;simple=true" target="_blank" ' +
    66             'onclick="return helppopup(\'' + subj + '\')">(?)</a></span>')
     67    return ('<span class="helplink"><a href="help?' +
     68            cgi.escape(urllib.urlencode(dict(subject=subj, simple='true')))
     69            +'" target="_blank" ' +
     70            'onclick="return helppopup(' + cgi.escape(jquote(subj)) + ')">(?)</a></span>')
    6771
    6872def makeErrorPre(old, addition):
Note: See TracChangeset for help on using the changeset viewer.