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