AjaxでのJSONは通常はクロスドメインで読み取られないが, 環境によってはクロスドメインで読み取られる可能性がある. また, JSONをHTMLとブラウザに解釈させ, XSSを行なう攻撃がある.
AjaxでJSONでデータを提供する場合は, 以下の対策を行なわなければならない(上記記事より).
また, 以下の対策を行なうことが望ましい.
以前の版では GET での JSON の取得を制限し POST でのみ取得できるようにするよう記述していたが, この対策には機密情報の漏洩は対策できるがXSSの防止には問題があった.
参考:
JSONPはクロスドメインでのアクセスが可能なので, JSONPで提供するデータに機密情報を含めてはならない.