5.5. Javascriptの手順

5.5.1. AjaxでのJSON

AjaxでのJSONは通常はクロスドメインで読み取られないが, 環境によってはクロスドメインで読み取られる可能性がある. また, JSONをHTMLとブラウザに解釈させ, XSSを行なう攻撃がある.

AjaxでJSONでデータを提供する場合は, 以下の対策を行なわなければならない(上記記事より).

  • リクエストの X-Requested-With ヘッダの値が 「XMLHttpRequest」かチェックする.
  • レスポンスの Content-Type ヘッダを, 「application/json; charset=UTF-8」と指定する.

また, 以下の対策を行なうことが望ましい.

  • JSON生成ライブラリで設定できる最大限のエスケープの実施する

以前の版では GET での JSON の取得を制限し POST でのみ取得できるようにするよう記述していたが, この対策には機密情報の漏洩は対策できるがXSSの防止には問題があった.

参考:

5.5.2. JSONP

JSONPはクロスドメインでのアクセスが可能なので, JSONPで提供するデータに機密情報を含めてはならない.

Table Of Contents

Previous topic

5.4. iphoneアプリの手順

Next topic

5.6. PHP利用時の手順

This Page