Как использовать HTTP Referer

Информация, которую вы видите, написанная на веб-сайтах, является лишь частью данных, которые эти сайты передают, когда они перемещаются с веб-сервера в браузер человека и наоборот. Кроме того, за кулисами происходит довольно много передачи данных, и если вы знаете, как получить доступ к этим данным, вы сможете использовать их интересными и полезными способами. Давайте посмотрим на один конкретный фрагмент данных, который передается во время этого процесса — реферер HTTP.

Referer — это неправильное написание слова referrer, которое было введено и осталось в коде и названии этой возможности.

Что такое HTTP Referer?

HTTP-реферер — это данные, которые веб-браузеры передают на сервер, чтобы сообщить вам, на какой странице читатель находился до того, как они пришли на эту страницу. Эта информация может использоваться на вашем веб-сайте для предоставления дополнительной помощи, создания специальных предложений для целевых пользователей, перенаправления клиентов на соответствующие страницы и контент или даже для блокировки посетителей от посещения вашего сайта. Вы также можете использовать языки сценариев, такие как JavaScript, PHP или ASP, для чтения и оценки информации о реферере. 

Сбор информации Referer с помощью PHP, JavaScript и ASP

Итак, как вы собираете эти данные HTTP реферер? Вот несколько методов, которые вы можете использовать:

PHP хранит информацию о реферерах в системной переменной HTTP_REFERER. Для отображения реферера на странице PHP вы можете написать:

if (isset ($ _ SERVER ['HTTP_REFERER'])) {
echo $ _SERVER ['HTTP_REFERER'];
}

Это проверяет, что переменная имеет значение, а затем выводит его на экран. Вместо

echo $ _SERVER ['HTTP_REFERER'];

вы бы поместили строки сценария на место, чтобы проверить наличие различных рефереров

JavaScript использует DOM для чтения реферера. Как и в случае с PHP, вы должны проверить, чтобы убедиться, что реферер имеет значение. Однако, если вы хотите манипулировать этим значением, вы должны сначала установить его в переменную. Ниже показано, как вы можете отобразить ссылку на свою страницу с помощью JavaScript. Обратите внимание, что DOM использует альтернативное написание реферера, добавив туда дополнительный «r»:

if (document.referrer) {
var myReferer = document.referrer;
document.write (myReferer);
}

Тогда вы можете использовать реферер в скриптах с переменной

myReferer

ASP, как и PHP, устанавливает реферер в системной переменной. Затем вы можете собрать эту информацию следующим образом:

if (Request.ServerVariables ("HTTP_REFERER")) {
Dim myReferer = Request.ServerVariables ("HTTP_REFERER")
Response.Write (myReferer)
}

Вы можете использовать переменную

myReferer

настроить ваши сценарии по мере необходимости.

Если у вас есть рефери, что вы можете с ним сделать?

Таким образом, получение данных является первым шагом. То, как вы это сделаете, будет зависеть от вашего конкретного сайта. Следующим шагом, конечно же, является поиск способов использования этой информации.

Когда у вас есть данные для реферера, вы можете использовать их для сценариев ваших сайтов несколькими способами. Одна простая вещь, которую вы можете сделать, это просто опубликовать, откуда, по вашему мнению, пришел посетитель. По общему признанию, это довольно скучно, но если вам нужно выполнить некоторые тесты, это может быть хорошей отправной точкой для работы.

Более интересный пример — использование реферера для отображения различной информации в зависимости от того, откуда они пришли. Например, вы можете сделать следующее:

  • Общее приветственное сообщение
    • Вы можете напечатать URL реферера вверху вашей страницы в общем приветственном сообщении. Как я упоминал выше, это довольно скучно, но предлагает некоторую базовую персонализацию. 
  • Добро пожаловать посетители поисковой системы
    • Когда кто-то пришел на ваш сайт из поисковой системы (т. Е. Его рефери — google.com, bing.com, yahoo.com и т. Д.), Вы можете захотеть предоставить ему немного дополнительной информации, чтобы побудить его оставаться на дольше. твой сайт. Вы можете указать URL своей рассылки или дать ссылки на некоторые из наиболее популярных страниц вашего сайта. 
  • Передать информацию в формы
    • Если у вас есть ссылка на ваш сайт, чтобы люди могли сообщать о проблемах с самим сайтом, знание реферера может быть очень полезным. Люди часто сообщают о проблемах с веб-страницей, не указывая URL, но вы можете использовать информацию реферера, чтобы угадать, о чем они сообщают. Этот сценарий добавит реферер в скрытое поле формы, предоставив вам некоторые данные о том, где на сайте они могли столкнуться с проблемой. 
  • Создать специальное предложение для некоторых посетителей
    • Возможно, вы хотите дать людям, которые приходят с определенной страницы, специальные предложения о ваших товарах или услугах. Это еще один пример персонализации, когда вы формируете их пользовательский опыт и контент, который они видят, основываясь на их пользовательских данных. Например, если вы продаете различные продукты, вы можете предложить сделку, относящуюся к тому, чем они уже были. смотря на свой сайт. 
  • Отправить посетителей на другую страницу
    • Вы также можете отправлять людей от определенного реферера на другую страницу. Будьте очень осторожны с этим, так как Google и другие поисковые системы могут посчитать это вводящим в заблуждение и оштрафовать ваш сайт.

Блокировать пользователей с помощью .htaccess от Referer

С точки зрения безопасности, если вы испытываете много спама с реферером на своем сайте из одного конкретного домена, это может помочь просто заблокировать этот домен с вашего сайта. Если вы используете Apache с установленным mod_rewrite, вы можете заблокировать их несколькими строками. Добавьте следующее к вашему

.htaccess файл

:

ПереписатьEngine на
# Опции + FollowSymlinks
RewriteCond% {HTTP_REFERER} спамер \ .com [NC]
RewriteRule. * - [F]

Не забудьте изменить слово

спамер \ .com

в домен, который вы хотите заблокировать. Не забудьте поставить \ перед любыми периодами в домене.

Не полагайтесь на Реферера

Помните, что есть возможность подделать реферера, поэтому вы должны никогда использовать только реферера для безопасности. Вы можете использовать его в качестве дополнения к вашей другой безопасности, но если к странице должны обращаться только определенные люди, то вы должны установить на нее пароль с

Htaccess

.

Ссылка на основную публикацию