2012-11-06 40 views
5

制限私がフォーラムで使用できるHTMLタグのホワイトリストを許可します。だから私はそうのようなHTML清浄機を設定している:私は疑問に思って何HTML Purifier - デフォルトの許可されたHTMLタグ設定を変更する

$config = HTMLPurifier_Config::createDefault(); 
$config->set('HTML.Allowed', 'p,a[href|rel|target|title],img[src],span[style],strong,em,ul,ol,li'); 
$purifier = new HTMLPurifier($config); 

、HTML清浄機のデフォルト設定ではまだ受け入れられたHTMLタグの数が減少を除いて、適用またはん行うIすべての設定パラメータを手動で再設定する必要がありますか?

また、安全のためにデフォルト設定を変更する必要はありますか?私はXSSの保護機能を新しくしたもので、HTML Purifierを初めて使用していて、このマニュアルで多くの「基本的な」ヒントやヒントが得られていないことがわかりました。

答えて

4

HTML清浄機は、デフォルトでは安全であり、あなたは%HTML.Allowedを変更することにより、それに課すいかなる制限が唯一許可されたタグセットを減らすことが保証されています。 http://htmlpurifier.org/live/smoketests/printDefinition.phpをチェックして、設定を調整することで許可されたタグセットがどのように変更されるかを確認してください。

0

DOMパーサを使用して、タグタイプがHTMLタグの許可されたホワイトリストに含まれているかどうかを確認するだけではどうですか?

入力をDOMノードリストに変換すると、すべてのDOMノードをループして、その型がそのように許可されているかどうかを確認できるはずです。 php.netには、入力サニタイズの問題を解決しようとしているように、他の人がこれをどのように記述するかについての素晴らしい例があります。

詳しい情報ここに: http://php.net/manual/en/class.domdocument.php

+0

なぜホイールを改造するのですか? HTMLPurifierはこれをうまく機能させる成熟した製品です。 – rjmunro

関連する問題