5

私は$this->escape()zend ビューで多くのことを行います。XSSを防ぐにはこれで十分ですか?

Zend Framework の外に HTMLPurifier があります。Zend とHTMLPurifier はどう違うのだろうか$this->escape()

4

2 に答える 2

4

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

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

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

于 2010-11-21T08:04:39.223 に答える
4

HTMLPurifier は別の目的を果たしています。HTMLPurifier は HTML をエスケープしません...正確にはそうではありません。HTML で許可されているものと許可されていないものを定義する構成を取得し、それに基づいてクリーンアップします。結果は実際には HTML のままで、特定のものが削除/サニタイズされています。

一方、escape() は、HTML に似た文字を HTML エンティティに変換して、HTML として解釈されるのではなく、ブラウザーで同じ文字をレンダリング&します (例: -> &amp;<-> &lt;>->&gt;など)。

さまざまな目標。

XSSの問題からあなたを救いますか? はい。ただし、文字エンコーディングが正しく構成されていることを確認してください。

于 2010-11-21T01:36:28.477 に答える