]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/htmlscrubber.mdwn
deprecate embed plugin too
[ikiwiki.git] / doc / plugins / htmlscrubber.mdwn
index d7bcf8099e00e3dd116bddd60ab67c8082639f1f..c59b46e14e12624463881101fff3190de36061c1 100644 (file)
@@ -1,5 +1,5 @@
-[[template id=plugin name=htmlscrubber core=1 author="[[Joey]]"]]
-[[tag type/html]]
+[[!template id=plugin name=htmlscrubber core=1 author="[[Joey]]"]]
+[[!tag type/html]]
 
 This plugin is enabled by default. It sanitizes the html on pages it renders
 to avoid XSS attacks and the like.
@@ -9,7 +9,11 @@ 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` and `link` tags, and the `style` attribute.
 
-It uses the [[cpan HTML::Scrubber]] perl module to perform its html
+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
 tricks.
 
@@ -23,9 +27,15 @@ The web's security model is *fundamentally broken*; ikiwiki's html
 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.
+
+The `htmlscrubber_skip` configuration setting can be used to skip scrubbing
+of some pages. Set it to a [[ikiwiki/PageSpec]], such as "!*/Discussion",
+and pages matching that can have all the evil CSS, JavsScript, and unsafe
+html elements you like. One safe way to use this is to use [[lockedit]] to
+lock those pages, so only admins can edit them.
 
 ----