2010-11-21 6 views
5

私はzendビューでたくさんの$this->escape()をやっています。これはXSSを防ぐのに十分ですか?

Zend Frameworkの外にHTMLPurifierがあります。私はどのようにzendの$this->escape()とHTMLPurifierを比較するのだろうか。

答えて

4

エスケープは、htmlspecialcharsのエイリアスです。プレーンテキストを出力できますが、HTMLPurifierでは安全なHTMLを出力できます。

XSSにプレーンテキストを使用することはできません。

ユーザー入力(リッチテキストエディタなど)から安全なHTMLを出力する場合は、strip_tagsではなくHTMLPurifierを使用する必要があります。

4

HTMLPurifierはさまざまな目的で使用されています。 HTMLPurifierはHTMLをエスケープしません...まあまあです。 HTMLで許可されているものと許可されていないものを定義する設定を行い、それに基づいて削除します。結果は実際にはまだHTMLであり、特定のものは削除/消されています。彼らは代わりにHTMLとして解釈されるのブラウザで同じ文字を描画ように、その一方、

エスケープは()(HTMLエンティティへのHTMLに似た文字を回している例えば& - >&amp;< - >&lt;> - >&gt;など)。

異なる目標。

XSSの問題を解決しますか?はい。ただし、文字エンコードが正しく設定されていることを確認してください。

関連する問題