クエリパラメータを正しくエンコードする方法。私はクリーンアップを行うAnti Samyを通じてデータを渡します。それに続いて、クリーンアップされた文字列unescapeHtml4メソッドを渡す必要があります。時には、私はJsonをリクエストパラメータとして持つことがあります(下記の例1を参照してください)。次のように要求パラメータからJsonとHTMLの両方のsantizationを処理する方法は?
現在、私のコードは次のとおりです。
String str = StringEscapeUtils.unescapeXml(xml);
ClearResult cr = antiSamy.scan(str);
String cleanStr = cr.getCleanHTML();
String s = StringEscapeUtils.unescapeHtml4(cleanStr);
例1:JSONリクエストとして:私は行番号4を削除した場合、私は名前QUOT {&を取得してしまいます
& QUOT:& QUOT MAV & QUOT}
例2:のエスケープ結果次のスクリプト:<スクリプト> alert( "hi")<スクリプト>
私はXSSの脆弱性があります。
この問題を解決するにはどうすればよいですか? JSONとHTMLの両方のリクエストパラメータを処理したいどんな助けもありがとう。