Referer: что это и как это работает
Referer - это HTTP-заголовок, который содеражит информацию о странице, с которой был осуществлен переход на текущую страницу. Данный заголовок используется в целях аналитики и служит для определения источника трафика на сайте.
Примеры использования заголовка referer в коде:
В PHP можно получить значение referer с помощью глобального массива $_SERVER:
php
if(isset($_SERVER['HTTP_REFERER'])){
$referer = $_SERVER['HTTP_REFERER'];
echo $referer; // выводим значение referer на экран
}
В JavaScript можно получить значение referer с помощью объекта document и свойства referrer:
javascript
var referer = document.referrer;
console.log(referer); // выводим значение referer в консоль
Элементарная проверка заголовка referer также может использоваться на серверной стороне для обеспечения безопасности данных, например, для предотвращения прямого доступа к файлам:
php
if(isset($_SERVER['HTTP_REFERER']) && parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) === 'example.com'){
// обрабатываем запрос
} else {
header('HTTP/1.0 403 Forbidden');
echo 'Доступ запрещен';
}
Также стоит отметить, что заголовок referer не всегда будет передан в запросе. Некоторые браузеры могут его блокировать или вообще не передавать. Поэтому при использовании его в коде следует учитывать этот факт и предусмотреть соответствующую проверку.