ホームページ >バックエンド開発 >PHPチュートリアル >$_SERVER[\'HTTP_REFERER\'] が PHP にないのはなぜですか?どうすれば対処できますか?

$_SERVER[\'HTTP_REFERER\'] が PHP にないのはなぜですか?どうすれば対処できますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-23 13:30:141010ブラウズ

Why is $_SERVER['HTTP_REFERER'] Missing in PHP, and How Can I Handle It?

PHP で $_SERVER['HTTP_REFERER'] が見つからない問題

PHP で $_SERVER['HTTP_REFERER'] 変数にアクセスすると、次のような問題が発生する可能性があります「未定義のインデックス: HTTP_REFERER」通知に。このエラーを解決するには、このエラーの背後にある理由を理解することが重要です。

ドキュメントに記載されているように、$_SERVER['HTTP_REFERER'] は、ユーザーに現在のページを参照させたページの URL を表します。ただし、ユーザー エージェントが常にこの値を設定するとは限りません。また、ユーザー エージェントがこの値を変更できるようにする場合もあります。その結果、完全に信頼できるものではありません。

問題の解決

$_SERVER['HTTP_REFERER'] の存在を確認するには、 HTTP_REFERER キーは $_SERVER 配列に存在します。これは、次のコードを使用して実行できます。

if (isset($_SERVER['HTTP_REFERER'])) {
    // HTTP_REFERER is set and available
} else {
    // HTTP_REFERER is not set or is missing
}

$_SERVER['HTTP_REFERER'] の代替

$_SERVER['HTTP_REFERER'] ができない場合信頼できる場合、またはその不在を適切に処理する必要がある場合は、代替アプローチを使用できます。探索済み:

  • クライアント側 JavaScript: JavaScript を使用してクライアント側で参照 URL をキャプチャし、AJAX 経由または非表示のフォーム フィールドとして送信します。
  • サーバー側リファラー ログ: 参照情報をさらに記録するためのカスタム サーバー側メカニズムを実装します。分析。
  • ヘッダー チェック: 受信リクエストの HTTP ヘッダーを調べて、「Referrer-Policy」ヘッダーや「X-Forwarded-For」ヘッダーなど、参照元に関する手がかりを調べます。

以上が$_SERVER['HTTP_REFERER'] が PHP にないのはなぜですか?どうすれば対処できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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