Когда я должен использовать rel=noreferrer?

Я должен связать некоторые другие внешние сайты.

Я знаю когда использовать nofollow, Но мне не ясно, когда я должен использовать rel=noreferrer,

2 ответа

Решение

Короче говоря, noreferrerТип ссылки скрывает информацию реферера при нажатии на ссылку. Ссылка с noreferrer Тип ссылки выглядит примерно так:

<a href="http://www.example.com" rel="noreferrer">Click here for more info</a>

Если кто-то заходит на ваш сайт по ссылке, которая использует этот тип ссылки, ваша аналитика не покажет, кто ссылался на эту ссылку. Вместо этого он будет ошибочно отображаться как прямой трафик в отчете по каналам сбора данных.

Если у вас есть внешняя ссылка на чужой сайт, которому вы не доверяете и хотите скрыть информацию о реферере, вы можете комбинировать и то, и другое.

<a href="http://example.com/sample_page/" rel="noreferrer nofollow">Other Domain Link</a>

Я советую вам использовать nofollow ссылки на следующий контент:

  • Ссылки в комментариях или на форумах. Все, что имеет пользовательский контент, может быть источником спама. Даже если вы тщательно модерируете, все будет плохо.
  • Реклама и рекламные ссылки. Любые ссылки, предназначенные для рекламы или являющиеся частью спонсорского соглашения, не должны приниматься.
  • Платные ссылки - если вы берете плату за ссылку (представление каталога, оценка качества, отзывы и т. Д.), nofollow исходящие ссылки

noreferrer не только блокирует заголовок реферера HTTP, но и предотвращает использование Javascript с помощью window.opener

<a href="http://someurl.here" target="_blank">Link</a>
Выглядит достаточно безобидно, но есть дыра, потому что по умолчанию открываемая страница позволяет открытой странице вызывать ее обратно через window.opener. Существуют некоторые ограничения, будучи междоменными, но все же есть некоторые неприятности, которые можно сделать
window.opener.location = 'http://gotcha.badstuff';

С noreferrer большинство браузеров запрещают window.opener эксплуатировать

Как сказал @unor, он скрывает информацию о реферере при нажатии на ссылку. По сути, это улучшение конфиденциальности, когда вы хотите скрыть информацию о владельце домена ссылки, по которой щелкнули, что пользователь пришел с вашего веб-сайта.

Пример:

Пользователь находится на вашем сайте www.mywebsite.com, там у вас есть<a href="https://newsite.com">Link</a>когда кто-то щелкает ссылку "Ссылка", владелец сайта newsite.com знает, что она пришла с сайта www.mywebsite.com. Установивrel=noreferrer вы предотвращаете разглашение этой информации.

Хороший пример того, как это работает, начинается с 21:28 этого выступления на конференции. Это считается хорошей практикой при работе на стороне сервера (например, Node.js). Вы также можете прочитать об этом в документации Helmet.

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

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

Другие вопросы по тегам