XSS攻撃を防ぐために入力エンコードを実装していますが、私はいくつかの質問があります。XSS攻撃を防止するには、次のいずれの方法が効果的ですか?
入力をエンコードし、エンコードされたデータをデータベースに格納する方がよいでしょうか?もしそうなら、プロジェクト全体の文字列比較をどう扱うのですか?比較する文字列をエンコードしますか?私はプロジェクト全体を調整しなければならないので、将来のプログラマは2つの文字列を比較するたびにこれを覚えなければならないので、 "あまり良くない"アプローチのように思えます。
入力をデータベースに直接スローして応答する必要がありますか?これはより良い方法のようですが、私は本当にわかりません。それが私がここに投稿する理由です。また、これが好ましい方法であれば、データベースから直接JavaScriptを実行するデータベース管理アプリケーション(phpMyAdminなど)がありますか?
これは初めてのことです。経験豊かな開発者からの洞察が大好きです。
はい、(2)は間違いなく良い方法です。また、自動的に実行するテンプレートエンジンを使用します。 – Ryan
@Ryan迅速な対応をありがとう。私は現在、.NETで利用可能なAntiXSSEncoderクラスを使用しています。それは十分か?また、興味があれば、2番目の質問を更新しました。 – Sikor
私はASP.NETのエキスパートではありませんが、壊れやすいようです - 剃刀を好むかもしれませんか? Re:あなたの編集:いいえ、それはphpMyAdminの恐ろしい脆弱性です。 – Ryan