HTTP-реферер

В HTTP референт (неправильное написание реферер[1]) является необязательным Поле заголовка HTTP который идентифицирует адрес веб-страницы (т. е. URI или же IRI ), который связан с запрашиваемым ресурсом. Проверив реферер, новая веб-страница сможет увидеть, откуда исходит запрос.

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

Референт протоколирование используется, чтобы позволить веб-сайты и веб-серверы чтобы определить, откуда люди их посещают, в рекламных или статистических целях.[2]

Поведение по умолчанию, связанное с утечкой реферера, подвергает веб-сайты риску нарушения конфиденциальности и безопасности.[3]

Содержание

  • 1 Этимология
  • 2 Подробности
  • 3 Referer скрывается
  • 4 Рекомендации
  • 5 внешняя ссылка

Этимология

Неправильное написание реферер возникла в оригинальном предложении компьютерного ученого Филипп Халлам-Бейкер включить поле в HTTP Технические характеристики. [4] Орфографическая ошибка была высечена к моменту ее включения в Запрос комментариев документ стандартов RFC 1945; соавтор документа Рой Филдинг отметил, что ни «реферер», ни «реферер» с ошибкой не распознаются стандартом Проверка орфографии Unix периода.[5] С тех пор слово «Referer» стало широко использоваться в отрасли при обсуждении HTTP-источников перехода; использование орфографической ошибки не универсально, поскольку правильное написание «реферер» используется в некоторых веб-спецификациях, таких как Объектная модель документа.

Подробности

При посещении страница в Интернете, реферер или ссылающаяся страница — это URL-адрес предыдущей веб-страницы, с которой переходили по ссылке.

В более общем смысле, реферер — это URL-адрес предыдущего элемента, который привел к этому запросу. Например, реферером для изображения обычно является HTML страницу, на которой он должен отображаться. Поле реферера является необязательной частью HTTP-запроса, отправляемого веб-браузер к веб-серверу. [6]

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

Многие блоги публикуют информацию о реферере, чтобы ссылаться на людей, которые ссылаются на них, и, следовательно, расширять диалог. Это, в свою очередь, привело к росту реферер спам: отправка фальшивой информации о реферере с целью популяризации сайта спамера.

Можно получить доступ к информации о реферере на стороне клиента, используя document.referrer в JavaScript.[8] Это можно использовать, например, для индивидуализации веб-страницы на основе запроса поисковой системы пользователя. Однако поле реферера не всегда включает запросы, например, при использовании Поиск Гугл с https.[9]

Referer скрывается

Большинство веб-серверов ведут журналы всего трафика и записывают реферер HTTP, отправляемый веб-браузером для каждого запроса. Это вызывает ряд проблем с конфиденциальностью, и в результате был разработан ряд систем, предотвращающих отправку веб-серверами реальных URL-адресов. Эти системы работают либо путем очистки поля реферера, либо путем замены его неточными данными. В общем, Интернет-безопасность suites очищают данные реферера, в то время как веб-серверы заменяют их ложным URL-адресом, обычно своим собственным. Это поднимает проблему спама-реферера. Технические детали обоих методов довольно согласованы — программные приложения действуют как Прокси сервер и управлять HTTP-запросом, в то время как веб-методы загружают веб-сайты во фреймах, заставляя веб-браузер отправлять URL-адрес реферера адреса их веб-сайтов. Некоторые веб-браузеры предоставляют своим пользователям возможность отключить поля реферера в заголовке запроса.

Большинство веб-браузеров не отправляют поле реферера, если им дано указание перенаправить с помощью поля «Обновить». Это не включает некоторые версии Опера и многие мобильные веб-браузеры. Однако этот метод перенаправления не рекомендуется Консорциум World Wide Web (W3C).[10]

Если доступ к веб-сайту осуществляется из HTTP Secure (HTTPS) и ссылка указывает куда угодно, кроме другого безопасного места, тогда поле реферера не отправляется. «Политика безопасности контента, уровень 2». W3. 2014 г.. Получено 2014-12-08.

внешняя ссылка

  • RFC 7231: Протокол передачи гипертекста (HTTP / 1.1): Семантика и содержание
  • RFC 3987: Интернационализированные идентификаторы ресурсов (IRI)
  • Политика реферера — черновик редактора W3C

Повышение конфиденциальности в Интернете за счет управления информацией о реферере — Сетевое администрирование

by adminОпубликовано

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

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

Поле реферера предназначено для предоставления связанному веб-ресурсу информации о том, откуда пришел пользователь.

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

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

Mozilla объявила вчера что он добавил поддержку так называемого мета-тега реферера в Firefox Beta, который предоставляет разработчикам возможность контролировать информацию реферера на своих сайтах.

Опора на разработчиков (которые не сделали этого в первую очередь), вероятно, не лучший вариант с точки зрения пользователя.

Интернет-пользователи могут управлять информацией о реферере на своей стороне, и в этом руководстве рассматривается, как это делается в популярных браузерах, таких как Mozilla Firefox или Google Chrome.

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

Mozilla Firefox

У пользователей Firefox есть самый широкий набор опций, когда дело доходит до управления информацией о реферере в браузере.

  • HeaderControlRevived предоставляет вам опции для управления референтом, пользовательским агентом и принимаемым языком для каждого сайта.
  • Referer Control предлагает полный контроль над информацией о реферере в Firefox. Он поставляется с базовыми правилами, между которыми вы можете переключаться (по умолчанию — отключение реферера при выполнении сторонних запросов), и параметрами для переопределения поведения по умолчанию для выбранных сайтов.
  • Умный реферер — это надстройка Firefox, которая отправляет информацию о реферере только в том же домене. Он поддерживает белые списки и различные режимы, которые дают вам больший контроль над процессом, но он должен работать прямо из коробки для большинства пользователей.

Помимо расширений, пользователи Firefox могут настроить информацию реферера прямо на странице браузера about: config.

network.http.sendRefererHeader

  • 0 — никогда не отправлять ссылающийся URL.
  • 1 — отправлять только при переходе по ссылкам.
  • 2 — отправлять ссылки и изображения (по умолчанию).

network.http.referer.XOriginPolicy

  • 0 — всегда отправлять реферер (по умолчанию).
  • 1 — отправлять только при совпадении базовых доменов.
  • 2 — отправлять только при совпадении хостов.

network.http.referer.spoofSource

  • false — отправить реферер (по умолчанию).
  • true — обмануть реферера и использовать вместо него целевой URI.

network.http.referer.trimmingPolicy

  • 0 — отправить полный URI (по умолчанию).
  • 1 — схема, хост, порт и путь.
  • 2 — схема, хост и порт.

Гугл Хром

Пользователи Google Chrome могут устанавливать расширения браузера (которые также могут работать в Opera и других браузерах на основе Chromium) для управления поведением реферера.

  • Referer Control для Google Chrome удаляет информацию о реферере, когда по умолчанию выполняются сторонние запросы. Он имеет параметры настройки для отдельных сайтов и параметры, позволяющие установить настраиваемый глобальный реферер или полностью заблокировать рефереры.
  • Хук заголовка запроса позволяет вам устанавливать политики cookie, referer и user-agent для отдельных сайтов.

Онлайн-сервисы

У вас есть несколько вариантов управления информацией о реферере без установки расширений или изменения настроек браузера.

Один из наиболее простых вариантов для ссылок — скопировать ссылку и вставить ее в окно приватного просмотра или другой браузер, чтобы сделать прямой запрос.

Такие услуги, как NullRefer может использоваться для замены реферера, чтобы он не отправлялся при загрузке сайтов в Интернете.

Теперь ваша очередь : Как вы обрабатываете реферальную информацию на своей стороне?

Posted in Интересное

Реферер.

Справочник разработчика«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений.
Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений.
Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>«}}»>, Не встречается среди значений»}}»>, Не равно»}}»>, Не является подстрокой»}}»>, Не попадает под регулярное выражение»}}»>, Меньше»}}»>, Меньше либо равно»}}»>, Равно, с возможностью поиска по *»}}»>, Встречается среди значений. Вы можете указать в запросе до 100 значений»}}»>, Равно»}}»>, Является подстрокой»}}»>, Регулярное выражение»}}»>, Больше»}}»>, Больше либо равно»}}»>
ym:pv:refererРеферерНе равно, с возможностью поиска по *

URL реферера

2014-02-03
ym:pv:refererProtoПротокол реферераНе равно, с возможностью поиска по *2014-02-03
ym:pv:refererDomain
Домен реферераНе равно, с возможностью поиска по *
2014-02-03
ym:pv:refererPathFullПуть (полный) реферераНе равно, с возможностью поиска по *

Часть URL реферера, следующая сразу после домена. В отличие от простого пути также содержит секции параметров и фрагмента.

2014-02-03
ym:pv:refererPath
Путь реферера
Не равно, с возможностью поиска по *

Часть URL реферера, следующая сразу после домена до

? (секция параметров), # (секция фрагмента) либо до конца строки.

Например, для страницы http://news.yandex.ru/quotes/1.html путем является /quotes/1.html, для http://news.yandex.ru/ — /, а для http://news.yandex.ru — пустая строка.

2014-02-03
ym:pv:refererPathLevel1Реферер, ур. 1Не равно, с возможностью поиска по *

Первый уровень URL реферера.

Например, для http://ya.ru/1/2/3/4.html первым уровнем URL является http://ya.ru/.

2014-02-03
ym:pv:refererPathLevel2Реферер, ур. 2Не равно, с возможностью поиска по *

Второй уровень URL реферера.

Например, для http://ya.ru/1/2/3/4.html вторым уровнем URL является http://ya.ru/1/.

2014-02-03
ym:pv:refererPathLevel3Реферер, ур. 3Не равно, с возможностью поиска по *

Третий уровень URL реферера.

Например, для http://ya.ru/1/2/3/4.html третьим уровнем URL является http://ya.ru/1/2/.

2014-02-03
ym:pv:refererPathLevel4Реферер, ур. 4Не равно, с возможностью поиска по *

Четвертый уровень URL реферера.

Например, для http://ya.ru/1/2/3/4.html четвертым уровнем URL является http://ya.ru/1/2/3/.

2014-02-03
ym:pv:refererPathLevel5Реферер, ур. 5Не равно, с возможностью поиска по *

Пятый уровень URL реферера.

Например, для http://ya.ru/1/2/3/4.html пятым уровнем URL является http://ya.ru/1/2/3/4.html.

2014-02-03

Что такое реферер и как он работает?

 Поделиться 

Содержание

  • 1 Определение
  • 2 Реферер или реферер
  • 3 Как это работает
  • 4 Преимущества и критические замечания
  • 5 Что могут сделать пользователи, чтобы остановить передачу реферера?
  • 6 Ссылки по теме
  • 7 Аналогичные изделия

Определение

Рисунок: Реферер — Автор: Seobility — Лицензия: CC BY-SA 4. 0

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

Браузеры играют решающую роль в процессе передачи информации о реферере. Однако не все браузеры могут обрабатывать данные реферера. Он основан на размере, определяемом длиной и ограниченным 4096 байтами. Реферер, длина которого превышает эту, будет частично передан в таких браузерах, как Internet Explorer, Safari и Firefox для Android.

Реферер или реферер

Обычно этот термин пишется как реферер или реферер. Эти термины взаимозаменяемы, но на самом деле реферер — это опечатка. Неправильное написание появилось в исходных документах, описывающих протоколы HTTP, известные как HTTP 1.0. С тех пор опечатка остается в употреблении.

Как это работает

В самом общем виде процесс реферера HTTP работает следующим образом:

Интернет-пользователь находится на веб-странице A и щелкает ссылку, которая ведет пользователя на веб-страницу B. Веб-браузер пользователя отправляет запрос на веб-сервер, на котором размещена веб-страница B. Реферер (веб-страница A) передается на сервер через специальное поле в заголовке HTTP. Затем сервер возвращает веб-страницу B и сохраняет реферер (веб-страницу A) в свой файл журнала.

В некоторых случаях данные реферера не передаются на сервер. Это включает:

  • Если пользователь посещает страницу, введя URL-адрес непосредственно в браузере.
  • Если пользователь посещает страницу, которая была сохранена как закладка.
  • Запрос на передачу реферера может быть заблокирован. Например, некоторые браузеры предлагают пользователям возможность отключить заголовки реферера для более конфиденциального просмотра. Обычно это делается с помощью расширений или инструментов разработчика браузера.
  • Защищенные сайты не будут отвечать на запрос на передачу данных (т. е. данные реферера не будут передаваться с https-сайта на не-https-сайт).
  • Прокси-серверы можно настроить так, чтобы браузер не отвечал на запрос реферера.
  • Передача данных реферера может быть заблокирована с помощью дереферера (см. пункт 5 ниже).

Преимущества и критические замечания

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

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

С другой стороны, существуют некоторые ограничения и недостатки использования заголовков реферера. В прошлом их можно было использовать, чтобы получить представление о ключевом поведении пользователей, таком как поиск по популярным ключевым словам. Однако из соображений безопасности новые политики Google теперь удерживают этот тип информации, а поисковые запросы, введенные пользователями, больше не будут отображаться в системах отслеживания, таких как Google Analytics. Вместо этого написано «не предусмотрено». Единственным исключением является платный трафик (например, трафик, генерируемый такими программами, как AdWords), и в этом случае информация о ключевых словах по-прежнему предоставляется.

Скриншот сайта analytics.google.com с пометкой «не предоставлено»

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

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

Что могут сделать пользователи, чтобы остановить передачу реферера?

В некоторых случаях пользователи Интернета могут предпочесть запретить передачу данных между браузером и сервером. Часто это делается с помощью дереферера.

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

Базовый процесс, используемый дереферерами, включает размещение страницы между ссылающимся сайтом и целевым сайтом (т. е. сайтом, который посещает пользователь после нажатия на ссылку на ссылающемся сайте). Поступая таким образом, дереферер манипулирует HTTP-запросами, создавая анонимные ссылки.

Сторонние службы разблокировки обычно позволяют пользователям предотвращать передачу URL-адресов путем создания анонимных URL-адресов, которые впоследствии выполняются при каждом HTTP-запросе. Это можно сделать через приложение или путем копирования и вставки скрипта в исходный код веб-сайта.

В качестве альтернативы можно создать пользовательские страницы разреферера. Это базовые страницы, содержащие код HTML и состоящие из тега перенаправления, сценария тайм-аута и сообщения о перенаправлении. Например, кто-то, читающий сообщение в блоге о недвижимости во Франции, может щелкнуть ссылку, которая приведет его на другой веб-сайт (например, веб-сайт агентства недвижимости). Если используется дереферер, пользователь не будет перенаправлен непосредственно на сайт агента по недвижимости, а сначала увидит страницу с сообщением «Вы перенаправлены на сайт X». Это сообщение появлялось на несколько секунд, и при размещении страницы между веб-сайтами заголовки реферера не передавались.

Ссылки по теме

  • https://www.searchenginejournal.com/referrer-spam-get-rid/135855/

Похожие статьи

  • Прокси-сервер
  • Параметры GET

Куда делись все рефереры HTTP?

26 мая 2013 г.

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

Как это может быть плохой новостью? HTTPS сбивает с толку один из основных инструментов метаданных в Интернете: рефереры HTTP. Рефереры HTTP исчезают при переходе с HTTPS на HTTP, но, что еще более тревожно, чувствительные рефереры HTTPS по-прежнему переносятся при переходе с HTTPS на HTTPS. Большинство безопасных приложений не знают, куда идут или не идут их рефереры HTTP. Не волнуйтесь, хотя: есть надежда. Или хотя бы мета-надежда.

define(HTTP Referrers)

Представьте, что вы находитесь на Reddit и нажимаете ссылку на homakov.blogspot.ru. Сервер в 9.0113 homakov.blogspot.ru знает, что вы пришли с reddit. com . Он даже знает, с какой конкретной веб-страницы вы пришли — в данном случае это страница поиска Reddit в /r/netsec, которая ищет homakov .

Так на что это похоже? Когда вашему браузеру нужна страница, он отправляет запрос GET с несколькими заголовками HTTP. Один из этих заголовков является HTTP Referrer и информирует сервер B о том, что вы пришли по ссылке на сервере A.

 GET http://homakov.blogspot.ru/2013/05/csrf-tool.html HTTP/1.1
Реферер: http://www.reddit.com/r/netsec/search?q=homakov
Принять кодировку: ISO-8859-1,utf-8;q=0,7,*;q=0,3
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, например Gecko) Chrome/26.0.1410.63 Safari/537.31
Соединение: Keep-alive
Файл cookie: session="x1yc3OWM2ZTdhNNzk1YWY5NDk0MTczNTEKc=="; csrftoken="6QjAl18WY3NyZgpNsHpEKotZNfEtzSLocHRm";
Хост: homakov.blogspot.ru
Принять: текст/html, приложение/xhtml+xml, приложение/xml; q = 0,9, */*; q = 0,8
Принять-Язык: en-US,en;q=0.8
Принять кодировку: gzip, deflate, sdch
 

Вторая линия, Реферал: http://www. reddit.com/r/netsec/search?q=homakov — это реферер HTTP. Именно эти поля HTTP Referrer отслеживаются аналитическими инструментами, такими как Google Analytics и ChartBeat.

HTTPS убивает рефереры HTTP

HTTPS отключает рефереры HTTP на веб-сайты HTTP. Почему? Согласно RFC 2616 (HTTP 1.1), это связано с возможностью кодирования конфиденциальной информации в URL-адресе ссылки:

. Клиенты НЕ ДОЛЖНЫ включать поле заголовка Referer в (незащищенный) HTTP-запрос, если ссылающаяся страница была передана по защищенному протоколу.

На первый взгляд это кажется вполне разумным. К сожалению, это жестко установленное правило плохо переносится в будущее, когда почти каждый веб-сайт использует HTTPS.

Почему? Реферер HTTPS, который может содержать конфиденциальные данные, по умолчанию будет отправлен с любого веб-сайта HTTPS на любой другой веб-сайт HTTPS. Только когда соединение переходит с HTTPS на HTTP, реферер отбрасывается.

Остаются две проблемные ситуации:

  • Веб-сайты HTTP не получают ссылки от веб-сайтов HTTPS — весь трафик отображается как прямой трафик
  • HTTPS-сайты будут отправлять рефереры на любой другой HTTPS-сайт , даже если он содержит конфиденциальную информацию

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

Исправление рефереров в HTTPS: мета-реферер

Итак, каковы возможные ситуации с нашими HTTP-реферерами? Если бы мы могли каким-то образом указать HTTP Referrer действовать определенным образом, какое другое поведение вы бы хотели? Что мы хотим сделать возможным? Мы обозначим эти разные ситуации именами.

  • Никогда: Наши URL-адреса конфиденциальны, и мы не хотим рассказывать о них миру. Мы хотим, чтобы реферер HTTP был удален (т. е. поведение по умолчанию для HTTPS).
  • Происхождение: Я управляю поисковой системой и хочу, чтобы люди знали, какой трафик исходил от меня, но не знали, какие поисковые запросы использовались для перехода на ваш сайт.
  • По умолчанию: Я запускаю Facebook и хочу передать реферер HTTP для всех запросов, если только он не переходит с HTTPS на HTTP (т. е. ситуация, когда ранее скрытая информация может быть раскрыта).
  • Всегда: Блог, размещенный по протоколу HTTPS, может захотеть установить ссылку на блог, размещенный по протоколу HTTP, и получить ссылки для обратной связи.

Эти случаи охватываются новым HTML5, называемым мета-реферером. Теперь можно использовать простой тег, например , чтобы указать точное поведение реферера HTTP независимо от того, используем ли мы HTTP или HTTPS.

При этом не все веб-браузеры поддерживают этот новый мета-реферер HTML5. Если веб-браузер не поддерживает этот флаг, он просто вернется к стандарту для HTTP или HTTPS. Какие браузеры их поддерживают?

Веб-браузер Поддержка мета-рефереров
Гугл Хром Да
Сафари Да
Firefox Нет (в процессе)
Internet Explorer Нет

Ну да ладно, мир улучшается. Допустим через год наберут все разобрано . Какие популярные веб-сайты используют мета-реферер?

Веб-сайт Мета-реферер
https://www.facebook.com Да: по умолчанию
https://www.google.com Да: Происхождение
Реддит Нет: HTTP и без мета-реферера
Новости хакеров Нет: HTTPS без мета-реферера

Добавьте метатег, спасите мир

Итак, вот моя маленькая просьба.

Если вы запускаете веб-сайт через HTTPS, добавьте соответствующий мета-реферер. Если это безопасное приложение, отключите рефереры, установив для него значение _Никогда_. Если Интернету будет полезно знать, что вы отправили им трафик, разрешите эти рефереры для всех.

Приложение

Tangent: Google Knows

Учитывая, что Google Analytics используется на 57,23% из миллиона самых популярных веб-сайтов в Интернете (572 300 на тот случай, если ваши расчеты подведут вас), они на самом деле находятся в отличном положении, чтобы отслеживать и понимать поток Интернета даже без этих рефереров. Предполагая, что пользователь просматривает только один из миллионов лучших веб-сайтов, они не только знают, как пользователь взаимодействует на веб-сайте с помощью Google Analytics, но и, вероятно, могут отслеживать, когда пользователь переходит с сайта А на сайт Б, поскольку сайт Б, скорее всего, есть гугл аналитикс. Даже если это не так, они знают пользователя не перешел на один из других веб-сайтов, поддерживаемых Google Analytics, поэтому пользователь либо закрыл вкладку, либо перешел по одной из ссылок на странице, которая не поддерживается Google Analytics. Это вся ценная информация, которую они могли бы использовать, поскольку это форма ограниченного PageRank — в PageRank вы предполагаете, что пользователь является ботом, кликающим по случайной ссылке, в то время как в этой ситуации вы устранили большую часть двусмысленности.

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

Tangent: Referrer vs Referer

Правильно пишется refe rr er (две записи), но вы везде будете видеть это как refe r er (минимальные записи). Почему? Маленькая случайность истории. Каждая ссылка на ссылку rr er записывается как ссылка r er в RFC 1945 (HTTP 1.0). Когда его подняли, было уже слишком поздно.

Полезные ссылки
  • Реферер (sic)
  • Жесткая блокировка реферера
  • Описание WhatWG для «noreferrer» по ссылкам
  • Ошибка @Mozilla: внедрить мета-реферер
  • Взлом HTTPS -> рефереры HTTP

HTTP-заголовок Referer: синтаксис, директива, примеры

 Referer: https://www.google.com/ 

Заголовок HTTP-заголовка Referer показан выше. В статье будет рассмотрен пример синтаксиса HTTP-заголовка Referer, директив и использования.

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

HTTP-заголовок Referer использует только одно значение в своем синтаксисе. Синтаксис использования HTTP-заголовка Referer описан ниже.

 Referer:  

HTTP-заголовок Referer содержит только одну директиву. URL-адрес — это полный или частичный URL-адрес веб-страницы, с которой сделан запрос. Фрагменты URL (например, «#section») и информация о пользователе (например, «имя пользователя: пароль» в «https://имя пользователя:[email защищен]/foo/bar/») не поддерживаются. В зависимости от политики реферера могут быть включены источник, путь и строка запроса. Ниже приведен пример директивы для использования HTTP-заголовка Referer.

 Реферер: https://developer.mozilla.org/en-US/docs/Web/JavaScript
Реферер: https://example.com/page?q=123
Referer: https://example.com/ 

Заголовок HTTP-запроса Referer содержит абсолютный или частичный адрес страницы, с которой сделан запрос. HTTP-заголовок Referer сообщает серверу, откуда приходят люди, когда посещают страницу. Информацию разрешается использовать для аналитики, ведения журналов, оптимизированного кэширования и других целей. Поле HTTP-заголовка Referer содержит URL-адрес страницы, которой принадлежит ссылка, когда пользователи нажимают на ссылку. HTTP-заголовок Referer содержит URL-адрес страницы, которая использует запрошенный ресурс, когда пользователь запрашивает ресурсы из другого домена. HTTP-заголовок Referer включает источник, путь и строку запроса, но не включает фрагменты URL (например, «#section») или информацию «имя пользователя: пароль». Данные, которые могут быть включены в запрос, определяются Referrer-Policy.

HTTP-заголовок Referer показан в приведенных ниже примерах.

В приведенном ниже случае адрес предыдущей веб-страницы — facebook.com.

 Реферер: https://www.facebook.com/ 

Адрес предыдущей веб-страницы в этом примере — google.com.

 Referer: https://www. google.com/ 

Существует только один документ спецификации HTTP-заголовка Referer, который представляет собой протокол передачи гипертекста (HTTP/1.1): семантика и контент (HTTP/1.1 Semantics and Content). ). Протокол передачи гипертекста (HTTP/1.1): семантика и содержимое (семантика и содержимое HTTP/1.1) В статье 5.5.2 упоминается определение HTTP-заголовка Referer и его использование. Кроме того, в этой статье обсуждаются примеры и значения HTTP-заголовка Referer.

HTTP-заголовок Referer — это тип заголовка запроса, который идентифицирует адрес предыдущей веб-страницы, связанной с текущей запрашиваемой веб-страницей или ресурсом.

Существуют и другие HTTP-заголовки, аналогичные HTTP-заголовку Referer. Пример приведен ниже.

  • Заголовок HTTP API Fetch: API Fetch — это интерфейс извлечения ресурсов (в том числе по сети). Любой, кто использовал XMLHttpRequest, узнает его, но новый API имеет более мощный и гибкий набор функций. Аналогично HTTP-заголовку Referer, который также предоставляет интерфейс для получения ресурсов.
  • Заголовок HTTP Content-Security-Policy: Заголовок ответа HTTP Content-Security-Policy позволяет администраторам веб-сайтов контролировать, какие ресурсы пользовательскому агенту разрешено загружать для определенной страницы. Политики, за некоторыми исключениями, в первую очередь включают указание источников серверов и конечных точек сценариев. Защищает от атак межсайтового скриптинга (Cross-site scripting). Подобно HTTP-заголовку Referer, который контролирует, какие ресурсы пользовательскому агенту разрешено загружать для данной страницы.
  • Политика единого источника HTTP-заголовок: Политика единого источника — это важный механизм безопасности, который ограничивает взаимодействие документа или сценария, загруженного из одного источника, с ресурсом из другого источника. Аналогично HTTP-заголовку Referer, который также взаимодействует с ресурсом из другого источника.

Существует несколько браузеров, поддерживающих HTTP-заголовок Referer. Ниже перечислены следующие браузеры.

  • Браузер Chrome совместим с HTTP-заголовком Referer.
  • Браузер Edge совместим с HTTP-заголовком Referer.
  • Браузер Firefox совместим с HTTP-заголовком Referer.
  • Браузер Opera совместим с HTTP-заголовком Referer.
  • Android-браузер WebView совместим с HTTP-заголовком Referer.
  • Браузер Chrome для Android совместим с HTTP-заголовком Referer.
  • Opera Android Browser совместим с HTTP-заголовком Referer.
  • Интернет-браузер Samsung совместим с HTTP-заголовком Referer.

Вы можете увидеть изображение, которое показывает кросс-браузерную совместимость HTTP-заголовков Referer ниже.

  • Автор
  • Последние сообщения

Целостное SEO

Исследовательский отдел SEO в Holistic SEO & Digital

Целостное SEO и Digital было создано Кораем Тугберком ГУБУРом. Целостное SEO — это процесс разработки интегрированных проектов цифрового маркетинга со всеми аспектами, включая кодирование, обработку естественного языка, науку о данных, скорость страницы, цифровую аналитику, контент-маркетинг, техническое SEO и брендинг.