GET パラメーターと POST パラメーターの検証
CSRF 攻撃を防止するにはCookie だけでなく、GET や GET などでもユーザー入力を検証することが不可欠です。 POSTパラメータ。これは、送信された値を保存された値または予期されるデータ型と照合することで実現できます。
HTTP Referer ヘッダーの確認
HTTP Referer ヘッダーは、そのページの URL を示します。リクエストを行った。その値は常に信頼できるわけではありませんが、参照ページが信頼できるドメインと一致することを確認することで、追加のセキュリティを提供できます。
Kohana フレームワークでの実装
Kohana フレームワークでは、以下を使用して Referer ヘッダーを取得できます:
$referrer = $this->request->headers['referer'];
Validating One-Timeトークン
より安全なアプローチには、セッションごとに生成され、特定のアクションに関連付けられたワンタイム トークンを使用することが含まれます。このトークンは次のようにする必要があります:
例実装:
// On the confirmation page $token = md5(uniqid()); // Generate and store token // On the action page if (isset($_POST['token']) && $_POST['token'] === $token) { // Validate token and perform action ... } else { // CSRF attack detected }
追加のヒント
以上がPHP 開発者はクロスサイト リクエスト フォージェリ (CSRF) 攻撃を効果的に防ぐにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。