3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(HTTP,PHP)httpsからhttpへのリファラは送信されない!?

PHPReferer を取得しようとするんですが、https のサイトからリンクすると、"Notice: Undefined index: HTTP_REFERER "エラーになってしまいます。

で、調べた結果 https から http へアクセスした場合、Referer は送信されないんですね。

知りませんでした。

ちなみに、PHPだとリファラがないと、$_SERVER['HTTP_REFERER'] 自体が存在しないため、上記のエラーとなります。

PHPでサーバ変数とか使うときは、以下のように変数が存在するかどうかをチェックしてから値を使うようにしたほうが良いですね。

$referer = ( isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "");

参考:

[INFO] セキュリティ保護されていない状況で Internet Explorer から Referer ヘッダーを送信しない

nitoka blog: https://ページからhttp://ページへのリンクした場合リファラーは送出されない