ブラウザがヘッダー情報をサーバーに送信するとき、$_SERVER['HTTP_REFERER']
前のページの URL を正しく取得する必要がありますか?
$_SERVER['HTTP_REFERER']
ヘッダー情報がサーバーに送信されない場合、から何が返されますか? 空文字列? 間違い?ヌル?また... ?
ブラウザがヘッダー情報をサーバーに送信するとき、$_SERVER['HTTP_REFERER']
前のページの URL を正しく取得する必要がありますか?
$_SERVER['HTTP_REFERER']
ヘッダー情報がサーバーに送信されない場合、から何が返されますか? 空文字列? 間違い?ヌル?また... ?
HTTP リファラー要求ヘッダーが送信され$_SERVER['HTTP_REFERER']
ない場合、空の文字列である可能性がありますが、おそらく設定されていません。この場合に設定されるかどうかは、サーバーに依存する可能性があります。
すべての HTTP 要求ヘッダーと同様に、以下を読むときにその存在を確認してください。
$httpReferer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
$_SERVER['HTTP_REFERER']
ユーザーブラウザの特定の設定が壊れる可能性があるため、実際には信頼できません。ただし、はい、以前の URL を含める必要があり、サーバーの構成に応じて、ヘッダーが送信されない場合は空の文字列または NULL を返します。
$_SERVER はグローバル配列変数であり、リファラー値はキー HTTP_REFERER を持つ配列の要素です。ブラウザからリファラー ヘッダーが送信されない場合、その要素は単に配列から欠落しています。array_key_existsを使用して、配列に要素があるかどうかを確認できます。この場合:
array_key_exists('HTTP_REFERER', $_SERVER)