Какой самый надежный способ скрыть / подделать реферер в JavaScript?

Обычно реферер отслеживается через:

  • JavaScript document.referrer
  • Запрос заголовки, например PHP $ _ SERVER ['HTTP_REFERER']

Я установил демонстрацию Codepad , которая показывает эти свойства в целях тестирования.

Требования:

  1. Исходный реферер должен быть эффективно скрыт, по крайней мере, для всех событий мыши.
  2. Кроссбраузерная поддержка (по крайней мере, Chrome и Firefox).
  3. Автономный, без какого-либо внешнего контента (плагины, библиотеки, страницы перенаправления, ...).
  4. Никаких побочных эффектов: ссылки не переписывать, записи истории должны быть сохранены .

Решение будет использоваться для скрытия реферера при переходе по ссылке .


Точное описание варианта использования

Как описано в этот вопрос о веб-приложениях , ссылки в поиске Google изменяются при нажатии. Следовательно,

  1. Google может отслеживать ваше поведение при поиске (Конфиденциальность--)
  2. Запрос страницы немного задерживается.
  3. Связанная страница не может отслеживать ваш поисковый запрос Google (Privacy ++)
  4. Перетаскиваемые / скопированные URL-адреса выглядят как http://google.com/lotsoftrash?url=actualurl .

Я разрабатываю Usercript (Firefox) / Content script (Chrome) ( code ) , который удаляет событие Google по искажению ссылок. В результате рассматриваются пункты 1, 2 и 4.

Пункт 3 остается.

  • Chrome:
  • Firefox: URI данных . Я разработал сложный подход для реализации этой функции для щелчка левой и средней кнопкой мыши, при этом все еще применяя пункт 4. Однако я борюсь с методом щелчка правой кнопкой мыши.

40
задан Community 13 April 2017 в 12:57
поделиться