一般に..
クライアント側のすべてが安全ではありません。したがって、スクリプトは、任意のパラメータ セットを使用して、いつでも誰からでも呼び出すことができます。
特定のスクリプトを保護する
したがって、サーバー側で何かを準備する必要があります。これは、後で何かが有効であることを検証します。
これをsecurity-tokenと呼びましょう。security-toke は、十分に長く、ランダムな文字列である必要があります。セキュリティ トークンは予測不可能である必要があります。この場合、サーバー側アプリケーションのみがこのトークンのソースになることができます。
このセキュリティ トークンをユーザーのセッションに保存し、クライアントに渡します。security-toke を保護するスクリプト呼び出しに関連付けます。セッションには次のプロパティがある場合があります。
$_SERVER[ 'sys$securityTokens' ]
= array(
'AHSsd67sdSJDH/D6wehsd'
=> array( 'script' => 'sensibleScript.php',
'params' => array( 'kid' => 3, 'var5' => 12 )
),
'KSD87sd78sdsfk(DDF/sd'
=> array( 'script' => 'someOhterSensibleScript.php',
'params' => array( 'value' => 'welcome!' )
)
);
この構造は、セキュリティ トークンをスクリプト名および後で呼び出される有効なパラメータに関連付けることに注意してください。
クライアントが JavaScript を使用してスクリプトを呼び出す必要がある場合、クライアントはセキュリティ トークンをサーバーに返します。
サーバー側で...
適切なスクリプト リクエストが来て、正しいセキュリティ トークンがリクエストの一部である場合は、セッションからセキュリティ トークンを削除し、スクリプトを実行します。
適切なスクリプト リクエストにセキュリティ トークンが含まれていない場合は、リクエストを拒否します。