前述のように、誰でもいつでもページにリクエストを送信できます。そのため、必要なセキュリティ上の主な懸念事項は、ユーザー入力を検証し、一般に公開されている情報のみを公開することです。しかし、それはすべてのスクリプトに当てはまります。
(ユーザー入力の検証後に) 集中する必要がある 2 つの主な問題は次のとおりです。
- 発生する可能性のある問題は、ユーザーがスクリプトに情報を受け取ることです。ブラウザーに応じて (同じブラウザーのフレーバー間でも)、情報の取得を妨げるさまざまなセキュリティ ルールがあります。これに対する一般的な解決策は、クライアントが実行できる関数呼び出しとして戻り値をラップする「JSONP」として情報を返すことです。簡単な例を次に示します ( http://www.geekality.net/2010/06/27/php-how-to-easily-provide-json-and-jsonp/から取得)。さらにロックダウンするには、すべてのクエリが JSONP であることを主張し、コールバック関数を送信しない人を拒否できます。
.
<?php
header('content-type: application/json; charset=utf-8');
$data = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
echo $_GET['callback'] . '('.json_encode($data).')';
?>
- 定期的に電話をかけすぎて、あなたのサービスを悪用している誰か。これに対する解決策は、IP アドレスをトラップし、IP アドレスからの呼び出しが多すぎる場合は拒否することです。絶対確実ではありませんが、それは始まりです。
留意すべきその他の要因:
- スクリプトによって設定された Cookie やその他のヘッダーはおそらく無視されます
- セッションも同様