Да, но имейте в виду некоторые прокси, и другие вещи разделяют эту информацию, и она может быть легко подделана. Поэтому никогда не полагайтесь на него. Например, не думайте, что Ваше веб-приложение безопасно от CSRF, потому что Вы проверяете ссылающийся домен для соответствия собственному серверу.
$referringSite = $_SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?
Если Вы захотите только позволить запросы от определенного домена, то необходимо будет проанализировать часть URL для получения высокоуровневого домена. Поскольку я узнал больше, это может быть сделано с parse_url PHP ().
Как andyk указывает в комментариях, необходимо будет также допускать www.example.com и example.com.
Вы не можете доверять ссылающемуся домену. Несмотря на прибытие из $_SERVER
массив, это - на самом деле пользователь/браузер, предоставил значение и легко фальсифицируется, с помощью таких вещей в качестве дополнения Firefox RefControl.
В то время как можно посмотреть на $_SERVER['HTTP_REFERER']
для получения относящегося сайта не ставьте ферму на нем. Браузер устанавливает этот заголовок, и он легко имитируется.
Если очень важно, что только люди, происходящие из определенных ссылающихся доменов, просматривают Ваш сайт, не используйте этот метод. Необходимо будет найти иначе, как основной автор, для защиты содержания. Я не говорю, что Вы не должны использовать эту технику, просто иметь в виду, что это не является надежным.
BTW, можно также заблокировать ссылающиеся домены на апачском уровне с помощью mod_rewrite.
Необходимо исследовать $ _SERVER массив для ключа 'HTTP_REFERER'.