3

ESAPI が何に使用されるかは理解していますが、多くの ESAPI の例でこれら 2 行が繰り返されています。誰かがこれが何をするのか正確に説明できますか?

ESAPI.encoder().canonicalize(inputUrl,false,false);
4

1 に答える 1

4

ドキュメントを参照してください:

正規化とは、エンコードされている可能性のある文字列を最も単純な形式に縮小する操作です。これは重要です。攻撃者は、検証フィルターをバイパスする方法で入力を変更するためにエンコーディングを頻繁に使用しますが、それでも攻撃のターゲットによって適切に解釈されるためです。複数回エンコードされたデータは、通常のユーザーが生成するものではなく、攻撃とみなされるべきであることに注意してください。

例で false に設定されている 2 つの追加パラメーターは、それぞれ複数のエンコードと混合エンコードを制限するかどうかを示します (意味についてはドキュメントを参照してください)。

于 2014-03-18T21:46:28.677 に答える