欠落している「$_SERVER['HTTP_REFERER']」変数の起源
Web プログラミングでは、「$_SERVER['HTTP_REFERER'」 ]" 変数は、ユーザーを現在の Web に誘導した参照ページの URL を取得するためによく使用されます。ページ。ただし、特定のシナリオでは、この変数が欠落している可能性があり、混乱や誤った処理が発生する可能性があります。
HTTP_REFERER 変数について
HTTP_REFERER は、HTTP ヘッダー フィールドです。ユーザーのブラウザによって現在のリクエストを処理する Web サーバーに送信されます。このフィールドには、ユーザーが現在のページにアクセスする前に来たページのアドレスが含まれます。ユーザー ナビゲーションの追跡、クロスサイト リクエスト フォージェリ (CSRF) の防止、リファラーベースの分析の実行に重要な用途があります。
HTTP_REFERER の不在: 原因と影響
ただし、場合によっては、「$_SERVER['HTTP_REFERER']」変数が使用できない場合があります。 利用可能。これはいくつかの理由で発生する可能性があります:
-
ブラウザによって無効になっている: 一部のブラウザでは、プライバシーまたはセキュリティ上の理由から、HTTP_REFERER ヘッダーの送信を無効にするオプションがユーザーに提供されています。
-
リダイレクト/リフレッシュ操作: ページをリダイレクトまたはリフレッシュすると、 HTTP_REFERER ヘッダーが失われるか変更されています。
-
セキュアから非セキュアへの移行: ユーザーがセキュア HTTPS ページから非セキュア HTTP ページに移動するときに、HTTP_REFERER ヘッダーが渡されない可能性があります。ブラウザのセキュリティ対策のため。
-
Isolated との相互作用コンテンツ: iframe や埋め込みビデオなどの一部の Web 要素は、リファラー情報を送信せずに独立して動作する場合があります。
-
Falsely Empty HTTP_REFERER: 特定の Web サイトまたは悪意のあるスクリプトは、標準の HTTP_REFERER をバイパスする可能性があります。ヘッダーを削除し、リファラーを避けるために空の値を送信します
参照元追跡の代替ソリューション
HTTP_REFERER ヘッダーがないにもかかわらず、ユーザーの参照を追跡するための代替手法があります。
-
ファーストパーティ Cookie: Web サイトは HTTP Cookie を使用して、再訪問者の参照元情報を保存できます。
-
フォーム フィールド: 特定の使用例の場合、Web サイトでは、ユーザーが送信したときにリファラー URL をキャプチャするための非表示のフォーム フィールドを実装できます。 form.
-
JavaScript トラッキング: JavaScript を使用すると、Web サイトは「document.referrer」プロパティにアクセスしてリファラー URL を取得できます。
-
クリック トラッキング: 電子メール キャンペーンまたは外部リンクの場合、Web サイトは専用のクリック追跡 URL を使用して、ユーザーの紹介を監視し、キャンペーンを測定できます。
開発者がエラーを適切に処理し、必要に応じて代替ソリューションを実装して、正確なデータ追跡と安全な Web インタラクションを確保するには、「$_SERVER['HTTP_REFERER']」変数が存在しない可能性を理解することが重要です。 .
以上が`$_SERVER[\'HTTP_REFERER\']` 変数が見つからないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。