Json.NET の使用
JsonConvert.SerializeObject(new { Property = "<script>alert('o hai');</script>" })
戻り値
{"Property":"<script>alert('o hai');</script>"}
悪意のあるスクリプトの実行を防ぐために、SerializeObject によって値をエスケープすることは可能ですか? オブジェクト自体に変更を加えたくないのです。
編集: 理想的には、SerializeObject の前後にオブジェクトを処理することなく、サニタイズを SerializeObject 呼び出しに統合したいと考えています。
編集: からの文字列出力JsonConvert.SerializeObject
は、スクリプト ブロック内のグローバル変数に割り当てられます。これは、XSS の問題がある場所だと思います。