Ajax 送信であるかどうかを判断するための PHP ネイティブ メソッド: 1. PHP サンプル ファイルを作成する; 2. Ajax リクエストを行うときに、ファイル ヘッダー情報の変数を設定する; 3. 情報が存在するかどうかを判断するphp側で設定した値と一致していれば、ajaxリクエストかどうかが分かります。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
ネイティブ PHP で ajax 送信であるかどうかを判断するにはどうすればよいですか?
アイデア: ajax リクエストを行うとき、ファイルヘッダー情報の変数を設定し、PHP 側を使用してこの情報が存在するかどうか、および設定した値と等しいかどうかを判断します。それが ajax リクエストであるかどうかを知ることができます。
メソッド:js側がヘッダー情報を送信
Object.setRequestHeader("変数名", "変数値");
例: xmlHttp..setRequestHeader("X_REQUESTED_WITH) ", "XMLHttpRequest");
php 側が情報を受け取りますが、この時に受け付ける変数は $_SERVER['HTTP_変数名'];,
に存在することに注意してください。上記の例のように、それは $_SERVER ['HTTP_X_REQUESTED_WITH'];
echo isset($_SERVER['HTTP_X_REQUESTED_WITH'])&&($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest')?'ajax です': 'それは ajax ではありません ';
注: js と jquery の間にはわずかな違いがあります。自分で注意して、変数名と競合しないようにしてください。
追加: これが自分の Web サイトを自分で区別する必要があるだけです。そうであれば、これは問題ありませんが、Ajax データはシミュレートできるため、他の人があなたの Ajax データを盗むのを防ぐことはできません。セッション検証などを設計するのが良い方法です。
関連コード:
/** * 判断是否是AJAX提交 * @return bool */ function is_ajax() { if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') return true; else return false; }
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPネイティブでajax送信かどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。