2

OWASPのXSS防止に関するチートシートを読みましたが、これらのルールを使用したアプリケーションを実際には認識していません。これらのルールで指摘されている脆弱性はないと思います。

私は次のすべての原則に従うPHPアプリケーションを実行しています。

  1. サーバー側で処理およびサニタイズされることなく、単一のユーザー入力がHTMLページに直接表示されることはありません

  2. すべてのユーザー入力はでサニタイズされhtmlentities()ます。それで十分ですか?(SQLインジェクションにはプリペアドステートメントを使用します)

  3. 一部のユーザー入力は、maxlengthサーバー側で5文字の条件があります。それはXSSからの保護に役立ちますか?(XSSコードが6文字より短いことはほとんど見られないため)

  4. データベースからのデータとは別に、ユーザーに表示される唯一のユーザー入力は、ajaxを介してサーバーに送信され、(jQueryを使用して)代わりにをhtmlentities使用してサニタイズされ、DOMに再導入されました。text()html()

私の場合、XSSについて心配する必要がありますか?XSSから身を守るために他に何ができますか?

4

2 に答える 2

0

HTML として表示する必要があるユーザー入力にHTMLawedまたはHTMLPurifierを使用するか、HTMLを含むべきではないユーザー入力からすべての HTML を完全に削除することをお勧めします。HTMLPurifier は 2 つの中でより強力であり、これを使用したプロジェクトで XSS の問題が発生したことはありません。

于 2012-06-27T15:23:08.093 に答える