Обычно реферер отслеживается через:
- JavaScript
document.referrer
- Заголовки запросов, например. PHP
$_SERVER['HTTP_REFERER']
Я установил демо-версию Codepad, которая показывает эти свойства для целей тестирования.
Требования:
- Исходный реферер должен быть эффективно скрыт, по крайней мере, для всех событий мыши.
- Поддержка кросс-браузера (по крайней мере, Chrome и Firefox).
- Автономный, без внешнего содержимого (плагины, библиотеки, страницы перенаправления,...).
- Никаких побочных эффектов: ссылки должны быть не переписаны, записи в истории должны быть сохранены.
Решение будет использовано, чтобы скрыть реферер, если следовать по ссылке <a href="url">
.
Точное описание прецедента
Как описано в этом вопросе на Webapps, ссылки в Google Поиске изменяются при нажатии. Следовательно,
- Google может отслеживать ваше поведение поиска (Privacy -)
- Запрос страницы немного задерживается.
- Связанная страница не может отслеживать ваш поисковый запрос Google (Privacy ++)
- Перетаскиваемые/скопированные URL-адреса выглядят как
http://google.com/lotsoftrash?url=actualurl
.
Я разрабатываю UserScript (Firefox)/Content script (Chrome) (code) который удаляет событие, искажающее связь с Google. В результате рассматриваются точки 1, 2 и 4.
Точка 3 остается.
- Chrome:
<a rel="noreferrer">
- Firefox:
data-URIs
. Я создал сложный подход для реализации этой функции для левого и среднего кликов, но все еще применяю пункт 4. Тем не менее, я борюсь с методом правого щелчка.