HTMLPurifier strip_tagsの仲間たち
コメントフォームにいきなりタグは使えません。でもいいのですが、RSSを受信して、ブログに貼り付けたり、ひと手間かけた時、いつもいつも、使えませんだと、自分が困ることになる。
外側からモノを、一度洗濯してきれいにしてから、自分のサイトなどで使う必要が出てくる。
フィルタはいろいろあるようで、やはりフィルタを公開しているサイトで、比較表を公開していたのでメモしておく。
HTML Purifier - Filter your HTML the standards-compliant way!
何をするか:自分で、使えるエレメントやアトリビュートを決めて、それに反したり、間違っているところ、消してしまう。
11/7 追記
include("./Purifier/HTMLPurifier.includes.php");
このファイルをインクルードとしておくと、手間がかかりません
<?php $config = HTMLPurifier_Config::createDefault(); $config->set('HTML', 'Doctype', 'XHTML 1.0 Transitional'); $config->set('Core', 'Encoding', 'UTF-8'); $config->set('Core', 'Language', 'ja'); $config->set('AutoFormat', 'AutoParagraph', true); //リンクの削除 //$def =& $config->getDefinition('HTML'); //unset($def->info['a']); $purifier = new HTMLPurifier($config); $clean_html = $purifier->purify($dirty_html); ?>
参考になるドキュメント
XSS (Cross Site Scripting) Cheat Sheet
とても参考になるエントリを見つけた。
2007-01-05 - T.Teradaの日記