ホームページ >バックエンド開発 >PHPの問題 >PHPネイティブでajax送信かどうかを判断する方法

PHPネイティブでajax送信かどうかを判断する方法

藏色散人
藏色散人オリジナル
2022-11-19 09:41:141132ブラウズ

Ajax 送信であるかどうかを判断するための PHP ネイティブ メソッド: 1. PHP サンプル ファイルを作成する; 2. Ajax リクエストを行うときに、ファイル ヘッダー情報の変数を設定する; 3. 情報が存在するかどうかを判断するphp側で設定した値と一致していれば、ajaxリクエストかどうかが分かります。

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

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