1

jspページからajaxを使用して(post経由で)Javaサーブレットを呼び出す単純なWebアプリケーションがあります。サーブレットでは、データベースからデータを取得して JSON を作成し、jsp ページで取得します。次に、eval 関数を使用して json を解析し、innerHTML プロパティを使用して区分内のデータを表示します。どういうわけか、このアプローチは xss 攻撃に対して脆弱なようです。このユースケースで XSS 攻撃を防ぐ方法について、誰かがいくつかの指針を提供できますか?

4

2 に答える 2

1

これはDOM ベースの XSSのように聞こえます。DOM ベースの XSSを防止する方法はいくつかあります。サーバーまたはクライアントでデータをhtmlエンコードする必要があります。データベース内のデータの HTML エンコードは、データの値を変更し、データの並べ替え方法などに影響を与えるため、 常に避ける必要があります。XSS は出力の問題であるため、HTML を構築しているコード (この場合は JavaScript) によって解決する必要があります。

于 2012-07-04T19:12:01.957 に答える
0

新しいブラウザーは JSON.parse() をサポートしています。古いブラウザーでは json2.js を使用します。

また、JSON を適切にエンコードして、値が引用符などから抜け出さないようにする必要があります。適切な json エンコーダーを見つけて、サーバー側で使用します。

于 2012-07-06T05:52:49.047 に答える