ホームページ  >  記事  >  バックエンド開発  >  PHP で AJAX リクエストを安全に識別するにはどうすればよいですか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-05 19:56:02595ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。