XSS対策は非常に煩わしい。ただHTMLタグを全て禁止すれば良いのだろうか。それはユーザビリティを著しく下げてしまうし、何よりHTMLタグ以外のスタイルシートのプロパティを使ったものも存在する。

ユーザビリティを維持しつつ、危険をなくしていきたければ、このライブラリが便利だ。

今回紹介するオープンソース・ソフトウェアはHTML Purifier、HTMLを解析し、危険なコードを回避してくれるフィルターだ。

HTML PurifierはPHP4または5で動作するライブラリだ。解析元のHTMLを渡せば、クリーンナップされたHTMLが返却されてくる。ドキュメントタイプも、HTML4.01(Strict/Transitional)、XHTML1.0(Strict/Transitional)、XHTML1.1に対応している。

文字コードもUTF-8に対応しているので安心だ。日本語が絡んだ余計な情報が削除されることもなく、便利に利用できる。特徴的なのは、CSSのXSS対策も行われており、いずれもホワイトリスト的な対応らしい。

セキュリティ上、XSS対策は重要なものになっている。とは言え、個別に対応するのは大変だ。HTML Purifierを使えば、そうした対策が容易に行える。

 

HTML Purifier - Filter your HTML the standards-compliant way!
 http://htmlpurifier.org/