Как не отправлять реферера по ссылке в html
Я думаю, что когда-нибудь я видел способ создать ссылку без отправки страницы, на которой изначально был пользователь. Возможно ли это? Или нам нужно использовать перенаправитель, чтобы скрыть местоположение предыдущего сайта?
РЕДАКТИРОВАТЬ: Если у вас есть идея для возможности анонимизации ссылки на стороне сервера, пожалуйста.
8 answers
Проверьте этот раздел в Вики о скрытии ссылок.
Большинство основных браузеров не отправляют заголовок ссылки, когда им дается указание перенаправить с помощью HTTP-заголовка "Обновить". Однако этот метод перенаправления не рекомендуется W3C.
<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) (или эквивалент для других протоколов).
Смотрите этот поток для базового примера настройки на стороне сервера референта
Нет никакого способа сделать это.
На самом деле этот параметр контролируется на стороне клиента. В зависимости от браузера, некоторые просто никогда не отправляют реферер или подделки.
Вы ни в коем случае не должны быть в состоянии это сделать.
Но вот 2 совета:
- Используйте страницу перенаправления
- Предложите пользователю функцию копирования/вставки, а затем откройте новое окно, чтобы он мог вставить и перейти.
Я здесь новичок, поэтому не могу комментировать, могу только отвечать.
Но этот вопрос (хотя и старый) почти такой же, как.
Остановить отправку ссылки рефереру в пункт назначения
В котором я опубликовал решение, которое я нашел, пытаясь решить эту проблему.
Я рекомендую использовать такой сервис, как https://anon.click / Также в HTML5 есть rel="noreferrer", который можно использовать.
Я использую комбинацию нескольких ответов, которые я вижу здесь.
<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 по умолчанию. И это работает.
Даже если браузер отправит ссылку, это не будет веб-сайт, так как адрес страницы "данные:...". Вот почему это намного безопаснее, чем создание страницы, которая делает это.
В зависимости от ваших обстоятельств вы могли бы использовать что-то вроде anonym.to - если вы доверяете этим службам.
Из вашего тега я предполагаю, что вы не хотите использовать (или иметь доступ) серверные инструменты, такие как PHP. В таком случае это будет непросто. Я не знаю, возможно ли это вообще с помощью только HTML/Javascript.