HTMLPurifier strip_tagsの仲間たち

f:id:tenman:20080513144414p:image

コメントフォームにいきなりタグは使えません。でもいいのですが、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の日記