diff options
| author | Carl Meyer <carl@oddbird.net> | 2011-02-09 02:48:48 +0000 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2011-02-09 02:48:48 +0000 |
| commit | 1966786d2dde73e17f39cf340eb33fcb5d73904e (patch) | |
| tree | c0e0dcb03a006dd8de7d49ce82f78ba8746dbf09 /tests/regressiontests/admin_widgets | |
| parent | 570a32a047ea56265646217264b0d3dab1a14dbd (diff) | |
[1.1.X] Fixed security issue in AdminFileWidget. Release and disclosure forthcoming.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@15472 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_widgets')
| -rw-r--r-- | tests/regressiontests/admin_widgets/tests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_widgets/tests.py b/tests/regressiontests/admin_widgets/tests.py index 64e12e3eaa..e69e5d2b71 100644 --- a/tests/regressiontests/admin_widgets/tests.py +++ b/tests/regressiontests/admin_widgets/tests.py @@ -154,3 +154,19 @@ class AdminForeignKeyRawIdWidget(DjangoTestCase): post_data) self.assertContains(response, 'Select a valid choice. That choice is not one of the available choices.') + +class AdminFileWidgetTest(DjangoTestCase): + def test_render_escapes_html(self): + class StrangeFieldFile(object): + url = "something?chapter=1§=2©=3&lang=en" + + def __unicode__(self): + return u'''something<div onclick="alert('oops')">.jpg''' + + widget = widgets.AdminFileWidget() + field = StrangeFieldFile() + output = widget.render('myfile', field) + self.assertFalse(field.url in output) + self.assertTrue(u'href="something?chapter=1&sect=2&copy=3&lang=en"' in output) + self.assertFalse(unicode(field) in output) + self.assertTrue(u'something<div onclick="alert('oops')">.jpg' in output) |
