1
どのようにESAPIを使用してHTMLのオブジェクトを直接エンコードすることができますか?ESAPIを使用してオブジェクトをエンコードする
String a = "<t"
String a= ESAPI.encoder().encodeForHTML(a);
文字列aの代わりに、文字列フィールドを含むオブジェクトを渡したいと思いますか?
どのようにESAPIを使用してHTMLのオブジェクトを直接エンコードすることができますか?ESAPIを使用してオブジェクトをエンコードする
String a = "<t"
String a= ESAPI.encoder().encodeForHTML(a);
文字列aの代わりに、文字列フィールドを含むオブジェクトを渡したいと思いますか?
あなた自身で書く必要があります。 Encoder.EncodeForHTML(String s)
は文字列を取ります。 ESAPIでは、エンコーディングを処理するための他のオプションはありません。
リフレクションを使用して、クラスのString型フィールドを反復処理し、すべてをエンコードすることができます。アプリケーションがそのデータを使って何をしているのかを分析することなく、一般的にすべてをエンコードすることができるように思えます。それは以前に説明した理由で危険です。here.
できるだけ後ろにできるだけ早くエンコードしたいと思っています。これはエスケープするための正しいコンテキストを決定するビュー内のコードです。
あなたの脅威モデルは何ですか?私は春のブートを参照して、あなたが示唆していることは、あなたのアプリケーションのスタートアップや設定ファイルを信頼することができないということです。 – avgvstvs
@avgvstvsクロスサイトスクリプティングを防止するためです。また、これは残りのAPI、リクエストのパラメータなどのためです – Harshana