Многие вебмастера периодически наблюдают, с каких ресурсов к ним заходят посетители. Для этого используются либо статистика сайта, или же обычные лог-файлы на сервере. При обзоре ряда сайтов в сети, иногда необходимо скрыть или изменить реферер (один из HTTP заголовков в запросе клиента, содержащий URL источника запроса). Причиной этого может служить, например:

  • Приватность — желание оставаться незамеченным для владельца сайта и скрыть реальный источник запроса.
  • Тестирование. Бывает необходимо произвести проверку, что отображается на вашем сайте при заходе с определенных источников. Например, для пользователей, пришедших с поисковой системы Яндекс, вы захотите напомнить им запрос, по которому они вас нашли, что можно легко протестировать после реализации.
  • Поиск партнеров. Вы можете создать страницу с информацией о партнерстве, обмене ссылками или др. и поместить эту страницу в качестве реферера для нужных сайтов. Просматривая эти сайты, вы даете о себе знать их владельцу, который, вероятно, перейдя по рефереру и прочитав желание сотрудничать, свяжется с вами. Вам даже не нужно знать контакты вебмастера. Некоторые оптимизаторы пользуются этой методикой для поиска партнеров.
  • Юмор. Так как реферер записывается в лог-файл, вы можете туда писать забавные вещи для развлечения тех, кто их будет читать. Хотя, может быть это будет и не очень смешно :) тем не менее, такая возможность есть.

Расширение для браузера Mozilla Firefox под названием RefControl позволяет осуществить все описанные выше пункты. Скачать его можно тут: https://addons.mozilla.org/en-US/firefox/addon/953. Автор плагина Джеймс Абатьелло сделал множество полезных настроек, которые описаны ниже.

Настройка плагина RefControl

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

Меню настройки RefControl

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

В первом поле необходимо указать домен, для которого будет посылаться реферер. Если вы укажете основной домен, то правило будет также применяться и для поддоменов.

Модуль RefControl, окно свойств сайта.

Для реферера доступны следующие опции:

  • Нормально – посылать действительный referer — будет посылать то же самое, если бы плагин был бы отключен.
  • Блокировать – не посылать реферер — оставит заголовки пустыми.
  • Подделать – посылать корень сайта — будет посылать в качестве источника URL главной страницы.
  • Иное — вы можете написать в поле все, что угодно, а также использовать ряд переменных, описанных ниже.

Также имеется чекбокс Запросы только 3-ей стороны. Если он будет активирован, тогда все выбранные выше правила будут применяться только для запросов с третьей стороны (когда сайт и реферер разные), например:

Страница с ссылкой Страница, на которую сослались Запрос третьей стороны?
www.example.com www.example.net/ Да
www.example.net www.example.net/page2.html Нет

Вы можете выбрать другие правила для тех сайтов, которые не будут указаны в списке (реферер по умолчанию).

Тестирование

Тестировать расширение RefControl можно по этой ссылке: протестировать реферер, где отображается referer, посылаемый браузером. Вы можете использовать этот URL при настройке плагина.

Используемые переменные

В расширении существует две главные переменные:
$URL – та страница, которая была запрошена;
$REF – неизмененный реферер.

Также можно использовать следующие переменные:

$URL_SCHEME, $REF_SCHEME имя протокола (http или https)
$URL_USERNAME, $REF_USERNAME имя пользователя, используемое в HTTP заголовке
$URL_PASSWORD, $REF_PASSWORD пароль, используемый в HTTP заголовке
$URL_USERPASS, $REF_USERPASS имя пользователя и пароль, разделенные двоеточием (напр., myuser:mypass)
$URL_HOST, $REF_HOST главное имя домена
$URL_PORT, $REF_PORT номер порта, по умолчанию 80 для http протокола и 443 для https
$URL_HOSTPORT, $REF_HOSTPORT имя домена и порт, разделенные двоеточием
$URL_PATH, $REF_PATH все, что находится после хоста и номера порта (напр., /dir/page.html)
$URL_PREPATH, $REF_PREPATH все, что идет до пути урла (напр., http://myuser:mypass@www.example.com:8080)

Для использования символа $ нужно применять $$, а также можно заключать переменные в фигурные скобки (${REF_SCHEME}x).

Теперь, если вы будете наблюдать в статистике непонятные вещи, не удивляйтесь, это всего-лишь плагин RefControl.

  • 0 Нет
  • 15 Да
  • Мне понравилось!

Если вам понравилась статья, вы можете подписаться на RSS или E-mail рассылку. Для получения обновлений по электронной почте, введите ваш e-mail адрес в эту форму (Доставка от FeedBurner):