PHP で AJAX リクエストを安全に識別するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-05 19:56:02
オリジナル
659 人が閲覧しました

How Can I Securely Identify AJAX Requests in PHP?

PHP での AJAX リクエストの安全な検出

受信リクエストが AJAX リクエストであるかどうかを確認することは、サーバー側の処理にとって重要です。 GET パラメータやヘッダーなどのメソッドは簡単に悪用できますが、より安全なアプローチも利用できます。

解決策: HTTP_X_REQUESTED_WITH ヘッダー チェック

HTTP_X_REQUESTED_WITH ヘッダーは送信される標準ヘッダーです。 AJAX リクエストによる。このヘッダーは通常、「XMLHttpRequest」または「xmlhttprequest」に設定されます。このヘッダーをチェックすることで、AJAX リクエストを確実に識別できます。

<code class="php">if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // We can assume that the request was made with AJAX
}</code>
ログイン後にコピー

使用例

PHP スクリプト mypage.php:

<code class="php"><?php

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') === 'xmlhttprequest') {
    // Process AJAX request
} else {
    // Not an AJAX request
}

?></code>
ログイン後にコピー
を考えてみましょう。

このスクリプトは、HTTP_X_REQUESTED_WITH ヘッダーが存在し、「XMLHttpRequest」に設定されているかどうかを確認します。そうである場合、リクエストは AJAX リクエストであると想定し、それに応じて処理を進めます。それ以外の場合、リクエストは非 AJAX リクエストとして処理されます。

利点

AJAX リクエストに対して HTTP_X_REQUESTED_WITH ヘッダーがブラウザによって自動的に送信されるため、このメソッドは安全です。攻撃者が簡単に偽造することはできません。さらに、ほとんどの最新のブラウザとサーバー プラットフォームでサポートされています。

以上がPHP で AJAX リクエストを安全に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート