ホームページ >バックエンド開発 >PHPチュートリアル >PHP $_SERVER[\'HTTP_REFERER\'] 変数が見つからない理由と代替手段は何ですか?

PHP $_SERVER[\'HTTP_REFERER\'] 変数が見つからない理由と代替手段は何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-23 06:32:13655ブラウズ

Why is My PHP $_SERVER['HTTP_REFERER'] Variable Missing and What Are the Alternatives?

PHP に「HTTP_REFERER」変数がありません

PHP では、$_SERVER['HTTP_REFERER'] 変数は次の URL にアクセスするために使用されます。現在のページにリンクしているページ。ただし、開発者によっては、「通知: 未定義のインデックス: HTTP_REFERER」というエラーが発生する場合があります。

このエラーは、PHP ドキュメントによると、HTTP_REFERER 変数が常に使用できるわけではないために発生します。これはユーザー エージェント (ブラウザなど) によって設定され、ユーザーが変更できます。さらに、すべてのユーザー エージェントがこの情報を提供するわけではありません。

HTTP_REFERER 変数について

HTTP_REFERER 変数は、参照したページの URL を示す HTTP リクエスト ヘッダーです。ユーザーを現在のページに移動します。この情報は、次のようなさまざまな方法で役立ちます。

  • ユーザーの行動と Web サイトのトラフィック フローの追跡
  • 悪意のあるリクエストまたはスパム リクエストの検出
  • クロスサイト リクエスト フォージェリの防止(CSRF) 攻撃

の代替HTTP_REFERER

HTTP_REFERER は完全に信頼できず、使用できない可能性があるため、別の方法として、JavaScript の window オブジェクトで getDocumentReferrer() メソッドを使用します。このメソッドは、現在のページにリンクしているページの URL を返し、HTTP_REFERER よりも信頼性が高くなります。

const referrer = document.referrer;

ただし、次の点に注意することが重要です。このメソッドはすべてのブラウザで機能するとは限らず、ユーザーが変更することもできます。

以上がPHP $_SERVER['HTTP_REFERER'] 変数が見つからない理由と代替手段は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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