Как не отправить реферера по ссылке в html - PullRequest
15 голосов
/ 25 мая 2009

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

РЕДАКТИРОВАТЬ: Если у вас есть идея для серверной опции анонимной ссылки, пожалуйста.

Ответы [ 8 ]

8 голосов
/ 12 октября 2015
<a href="example.com" rel="noreferrer">Example</a>

http://www.w3.org/TR/html5/links.html#link-type-noreferrer Ключевое слово noreferrer может использоваться с элементами a и area. Это ключевое слово не создает гиперссылку, но аннотирует любые другие гиперссылки, созданные элементом (подразумеваемая гиперссылка, если другие ключевые слова не создают ее).

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

Если пользовательский агент следует по ссылке, определенной элементом a или area, имеющим ключевое слово noreferrer, пользовательский агент не должен включать в запрос заголовок HTTP Referer (sic) (или эквивалентный для других протоколов).

6 голосов
/ 25 мая 2009

Проверьте этот раздел в вики о скрытии реферера.

Большинство основных браузеров не отправляют заголовок реферера, когда им предписано перенаправить с помощью HTTP-заголовка «Обновить». Однако этот метод перенаправления не приветствуется W3C.

1 голос
/ 23 июня 2016

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

<a href='data:text/html;charset=utf-8,<html><head><meta http-equiv="refresh" content="0;url=http://www.google.com/"></head><body><a href="http://www.google.com/" rel=noreferrer>Open Link</a></body></html>' rel=noreferrer target=_blank>A link without referer</a>

Я тестировал браузер Firefox, Chrome, iOS Safari и Samsung Android по умолчанию. И это работает.

Даже если браузер отправляет реферера, он не будет веб-сайтом, поскольку адрес страницы - «data: ...». Вот почему это намного безопаснее, чем создание страницы, которая делает это.

1 голос
/ 11 января 2015

Рекомендую воспользоваться услугой типа https://anon.click/ Также в HTML5 есть rel = "noreferrer", который можно использовать.

1 голос
/ 09 августа 2012

Я новичок здесь, поэтому я не могу комментировать, могу только отвечать.

Но этот вопрос (пока старый) почти такой же, как.

Остановить ссылку для отправки реферала адресату

Которое я опубликовал решение, которое я нашел, пытаясь решить эту проблему.

1 голос
/ 25 мая 2009

Нет способа сделать это.

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

Вы не должны быть в состоянии сделать это каким-либо образом.

Но вот 2 совета:

  • Использовать страницу перенаправления
  • Предложите пользователю функцию копирования / вставки, а затем откройте новое окно, чтобы он мог вставить и перейти.
1 голос
/ 25 мая 2009

см. Эту ветку для базового примера настройки серверной стороны реферера

PHP - скрипт перенаправления Referer

0 голосов
/ 25 мая 2009

В зависимости от ваших обстоятельств вы можете использовать что-то вроде anonym.to - если вы доверяете этим услугам.

Из вашего тега я предполагаю, что вы не хотите использовать (или иметь доступ) серверные инструменты, такие как PHP. В этом случае это будет сложно. Я не знаю, возможно ли это вообще с помощью только HTML / Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...