From 03dc63588c881ac38fcd8c7b5fefdc564e343b09 Mon Sep 17 00:00:00 2001 From: joey Date: Wed, 11 Jul 2007 17:57:02 +0000 Subject: [PATCH] on second thought, simple alphanumeric styles are not actually useful (class is already supported), and anything more complex is too hard to do, so revert --- IkiWiki/Plugin/htmlscrubber.pm | 3 --- debian/changelog | 2 -- doc/plugins/htmlscrubber.mdwn | 8 +------- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/IkiWiki/Plugin/htmlscrubber.pm b/IkiWiki/Plugin/htmlscrubber.pm index 489827167..540662c2b 100644 --- a/IkiWiki/Plugin/htmlscrubber.pm +++ b/IkiWiki/Plugin/htmlscrubber.pm @@ -47,9 +47,6 @@ sub scrubber { #{{{ value vspace width } ), "/" => 1, # emit proper
XHTML - "style" => qr{^[-a-zA-Z0-9]+$}, # only very simple - # references allowed, - # to avoid javascript }], ); return $_scrubber; diff --git a/debian/changelog b/debian/changelog index e1bcc3185..e891ee161 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,8 +7,6 @@ ikiwiki (2.4) UNRELEASED; urgency=low * Support building on systems that lack asprintf. * mercurial getctime is currently broken, apparently by some change in mercurial version 0.9.4. Turn the failing test case into a TODO test case. - * Allow simple alphanumeric style attribute values in the htmlscrubber. This - should be safe from javascript attacks. -- Joey Hess Wed, 11 Jul 2007 12:23:41 -0400 diff --git a/doc/plugins/htmlscrubber.mdwn b/doc/plugins/htmlscrubber.mdwn index cc749e2dc..6ce297a86 100644 --- a/doc/plugins/htmlscrubber.mdwn +++ b/doc/plugins/htmlscrubber.mdwn @@ -7,12 +7,7 @@ to avoid XSS attacks and the like. It excludes all html tags and attributes except for those that are whitelisted using the same lists as used by Mark Pilgrim's Universal Feed Parser, documented at . -Notably it strips `style` and `link`. - -For the `style` attribute, it varys slightly from the Universal Feed -Parser, accepting simple alphanumeric style attributes (style="foo"), but -stripping anything more complex to avoid any of the ways to insert -JavaScript via style attributes. +Notably it strips `style` and `link` tags, and the `style` attribute. It uses the [[cpan HTML::Scrubber]] perl module to perform its html sanitisation, and this perl module also deals with various entity encoding @@ -41,4 +36,3 @@ plugin is active: * CSS script test * entity-encoded CSS script test * entity-encoded CSS script test -* OTOH, this is ok, and will be accepted