Веб-безопасность: добавьте rel = noopener к внешним ссылкам

Не трогайте мои вкладки! (rel = noopener) — это надстройка Firefox, которая автоматически добавляет rel = «noopener» к внешним ссылкам на сайтах, открытых в Firefox. Noopener_by_default — это пользовательский скрипт, который делает то же самое для ссылок.

Знаете ли вы, что сайты, которые вы загружаете, нажимая на ссылки, могут манипулировать страницей, на которой была размещена ссылка?

Представьте себе две HTML-страницы: index.html первая страница со ссылкой на omg.html. Когда вы нажимаете на страницу omg.html в index.html, эта страница открывается в браузере на новой вкладке, если целевой пустой атрибут добавлен к ссылке (последнее является обязательным требованием для работы).

Страница omg.html может использовать свойство window.opener для управления содержимым index.html. Поскольку это происходит в фоновом режиме, это часто происходит, когда пользователь ничего не замечает.

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

Атрибут ссылки rel = «noopener» установит для свойства window.opener значение null, так что целевые сайты не смогут управлять исходной страницей.

Вы, наверное, задаетесь вопросом, почему браузеры просто не добавляют rel = «noopener» ко всем ссылкам, открывающимся в новых вкладках, и не покончили с этим. Создатели браузеров штат что это нарушит работу определенных сайтов и служб в Интернете.

Вы можете проверить это на себе страница интернета. Щелкните первую или вторую ссылку на странице, чтобы начать. Он открывает новую страницу в новой вкладке. Когда вы впоследствии вернетесь к исходной странице, вы увидите, что она была изменена целевой страницей.

Решения

Проблема с браузером rel noopener

Есть несколько решений, которые предотвращают подобные манипуляции:

  1. Щелкайте по ссылкам средней кнопкой, чтобы открывать их, вместо того, чтобы нажимать на них левой кнопкой мыши.
  2. Установите надстройку Firefox Не трогайте мои вкладки! (rel = noopener). Он добавляет атрибут rel = «noopener» ко всем внешним ссылкам, но не к ссылкам одного происхождения. Обратите внимание, что это работает только в Firefox 52, так как это будет версия Firefox, которая поддерживает rel = «noopener).
  3. Пользовательский скрипт noopener_by_default добавляет rel = «noopener» к любой ссылке, которая использует target = «_ blank».

Атрибут rel = «noopener» работает только в том случае, если браузер поддерживает его. Chrome, Opera, Vivaldi и Safari уже поддерживают, Firefox с выпуск Firefox 52 7 марта 2017 г..

Щелчок по ссылкам средней кнопкой работает независимо от этого.

Примечание : Мы добавляем rel = «noopener» к ссылкам здесь, на Ghacks, чтобы вы были в безопасности при переходе по ссылкам здесь, на сайте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *