1 When run with the `--sanitize` switch, which is turned on by default (see
2 [[usage]]), ikiwiki sanitizes the html on pages it renders to avoid XSS
5 ikiwiki excludes all html tags and attributes except for those that are
6 whitelisted using the same lists as used by Mark Pilgrim's Universal Feed
7 Parser, documented at <http://feedparser.org/docs/html-sanitization.html>.
8 Notably it strips `style`, `link`, and the `style` attribute.
10 ikiwiki uses the HTML::Scrubber perl module to perform its html
11 sanitisation, and this perl module also deals with various entity encoding
14 While I believe that this makes ikiwiki as resistant to malicious html
15 content as anything else on the web, I cannot guarantee that it will
16 actually protect every user of every browser from every browser security
17 hole, badly designed feature, etc. I can provide NO WARRANTY, like it says
18 in ikiwiki's [GPL](GPL) license.
20 The web's security model is *fundamentally broken*; ikiwiki's html
21 sanitisation is only a patch on the underlying gaping hole that is your web
26 Some examples of embedded javascript that won't be let through.
28 <span style="background: url(javascript:window.location='http://example.org/')">test</span>
29 <span style="any: expression(window.location='http://example.org/')">test</span>
30 <span style="any: expression(window.location='http://example.org/')">test</span>