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 <http://feedparser.org/docs/html-sanitization.html>.
-Notably it strips `style`, `link`, and the `style` attribute.
+Notably it strips `style` and `link` tags, and the `style` attribute.
+
+All attributes that can be used to specify an url are checked to make sure
+that the url is in a known, safe scheme, and to block embedded javascript
+in such urls.
It uses the [[cpan HTML::Scrubber]] perl module to perform its html
sanitisation, and this perl module also deals with various entity encoding
sanitisation is only a patch on the underlying gaping hole that is your web
browser.
-Note that enabling or disabling the htmlscrubber plugin also affects some other
-HTML-related functionality, such as whether [[meta]] allows potentially unsafe
-HTML tags.
+Note that enabling or disabling the htmlscrubber plugin also affects some
+other HTML-related functionality, such as whether [[meta]] allows
+potentially unsafe HTML tags.
----
Some examples of embedded javascript that won't be let through when this
plugin is active:
-* <span style="background: url(javascript:window.location='http://example.org/')">test</span>
-* <span style="any: expression(window.location='http://example.org/')">test</span>
-* <span style="any: expression(window.location='http://example.org/')">test</span>
+* script tag test <script>window.location='http://example.org';</script>
+* <span style="background: url(javascript:window.location='http://example.org/')">CSS script test</span>
+* <span style="any: expression(window.location='http://example.org/')">entity-encoded CSS script test</span>
+* <span style="any: expression(window.location='http://example.org/')">entity-encoded CSS script test</span>
+* <a href="javascript:alert('foo')">click me</a>