制作ブログ Web制作マークアップphp指定したドメインからのリファラーか判別する

指定したドメインからのリファラーか判別する

そんなに利用頻度はないものの、たまに使う際に毎回調べてるので、備忘録がてらメモ。ドメインとかホストとかは、同義語として取り扱います(厳密な違い、FQDNについてはここでは触れず)。

動作確認したPHPのバージョンは、7.x 。

/**
 * 参照元が指定ドメインと一致するか判別する
 *
 * @param {string} $url_host: 指定するURLと一致するか確認する
 *
 * @return boolean
 */
function is_referer_domain($url_host = "") {
  return isset($_SERVER['HTTP_REFERER']) && parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) == $url_host;
}

利用サンプル。
参照元のページのドメインが、www.simplesimples.com か判別して処理をする場合。

if (is_referer_domain("www.simplesimples.com")) {
}