ASP.Net と C# のレガシー Web アプリケーションがあり、ベラコード スキャンによって発生した約 400 プラスのクロス サイト スクリプティングの欠陥が発生しています。サンプルの Web アプリケーションを作成して問題をシミュレートしたところ、文字列入力を直接使用していると必ず問題が発生することがわかりました。実行することでベラコードHttpUtility.HtmlEncode(TextBox1.Text);"
は満たされますが、この変更を 400 箇所すべてに適用することは現実的ではありません。すべての入力が1か所でエンコードされ、どこでも変更する必要がないように、httphandlerにプラグインを実装する方法を探しています。これが可能であれば、誰かが私を操縦してください. よろしくお願いします。
StringOps strop = new StringOps();
string txt1, txt2;
txt1 = HttpUtility.HtmlEncode(TextBox1.Text);
txt2 = HttpUtility.HtmlEncode(TextBox2.Text);
Response.Write(strop.Add(txt1, txt2));
HttpUtility.HTMLEncode 行を削除すると、Veracode が文句を言います。この文字列操作を行う場所が非常に多いため、これをどこにでも実装することは現実的ではありません。このエンコーディングを 1 つの場所に実装し、すべての応答と要求がそのパイプライン (HTTPHandler と HTTPModule など) を通過するようにすることは可能でしょうか。