Ответ 1
Я искал одно и то же, и кажется, что это будет особенностью HTML5.
Тег, который вы ищете, rel="noreferrer"
.
Это уже реализовано в Webkit (Chrome и т.д.), а также Firefox, но ваш пробег может отличаться.
У меня есть страница, где я не хочу, чтобы исходящие ссылки отправляли реферер, чтобы целевой сайт не знал, откуда они пришли.
Я предполагаю, что это невозможно, но я просто хочу убедиться, что не было скрытой магии javascript, которая могла бы это сделать, и это будет работать с некоторыми (если не большинством) браузерами.
Может быть, какой-то умный код статуса HTTP перенаправляет кунг-фу?
Что-то вроде этого было бы прекрасно
<a href="example.com" send_referrer="false">link</a>
Я искал одно и то же, и кажется, что это будет особенностью HTML5.
Тег, который вы ищете, rel="noreferrer"
.
Это уже реализовано в Webkit (Chrome и т.д.), а также Firefox, но ваш пробег может отличаться.
Для тех, кто посещает в 2015 году и за его пределами, теперь есть правильное решение, получающее поддержку.
HTTP Referrer Policy позволяет управлять отправкой рефералов для ссылок и подресурсов (изображений, скриптов, таблицы стилей и т.д.), и на данный момент он поддерживает в Firefox, Chrome и Opera.
<meta name="referrer" content="no-referrer">
(И более старая версия спецификации поддерживается Microsoft Edge и Safari, но я еще не нашел протестированный способ подачи их старого синтаксиса, а при кормлении всего остального новый синтаксис.)
Кроме того, если вы хотите применить его к тегам audio
, img
, link
, script
и video
, ссылающимся на ресурсы, которые требуют CORS, не забудьте также установить crossorigin="anonymous"
атрибут на них, так что будет использоваться только абсолютный минимум (заголовок Origin
).
(Вы не можете избавиться от заголовка Origin
при использовании CORS, потому что удаленные узлы должны знать, какой домен делает запрос, чтобы разрешить или запретить его.)
HTML 5 включает rel="noreferrer"
, который поддерживается во всех основных браузерах. Поэтому для этих браузеров вы можете просто написать:
<a href="example.com" rel="noreferrer">link</a>
Там также имеется прокладка для других браузеров: https://github.com/knu/noreferrer
Bigmack на правильном пути, но изменение местоположения в javascript по-прежнему отправляет реферер в firefox. Использование мета-обновления, похоже, решает проблему для меня.
<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL='http://google.com/'"></html>'>Link</a>
Я тоже пытался понять это.
Решение, о котором я думал, это использовать URL-адрес данных, чтобы скрыть фактическую страницу, с которой я пришел.
<a href='data:text/html;charset=utf-8, <html><script>window.location = "http://google.ca";</script></html>'>Link</a>
Эта ссылка открывает страницу, на которой только javascript загружает другую страницу. В моем тестировании ни один реферер не получает конечный пункт назначения. Я не знаю, что он мог бы отправить в качестве реферера, если бы попытался в любом случае, может быть, URL-адрес данных? который не отдает, откуда вы пришли.
Это работает в Chrome. Chrome - моя единственная забота о моей текущей проблеме, но для браузеров, которые не любят javascript на страницах, которые являются URL-адресами данных. Возможно, вы могли бы попробовать обновление мета.
В дополнение к уже предоставленной информации. Здесь представлена более подробная информация по теме: https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer
В частности, вы можете отправлять или не отправлять реферальную информацию, если вам нужны разные правила для запросов одного происхождения или кросс-происхождения.
Что-то, что нужно учитывать в зависимости от вашего конкретного варианта использования. т.е. если вы потянете изображения /css/javascript с сторонних веб-сайтов, то вам может не понадобиться идентифицировать URL-адрес, из которого вы это делаете, и, следовательно, использовать опцию no-referrer. Если вы подключаетесь к другим сайтам с вашего собственного сайта, вы можете захотеть, чтобы они знали, что вы отправляете им трафик. Всегда думайте о последствиях этого с обеих сторон. Если есть конфликт в этих двух областях, тогда есть другие варианты, такие как добавление параметров отслеживания UTM в конец URL-адресов, которые могут оказаться полезными для некоторых людей. Полная информация здесь: https://www.contradodigital.com/2014/06/03/importance-utm-tracking-parameters-social-media/
Вы также можете использовать службу реферирования, например https://anon.click/