rel = noopener

Приклад:

<a href="https://www.facebook.com/username/" target="_blank" rel="noopener">
  • target="_blank" відкриває посилання у новій вкладці.

  • rel="noopener" захищає вашу сторінку від маніпуляцій із боку сторінки Facebook, яка відкриється в новій вкладці.

Атрибут rel="noopener" використовується для підвищення безпеки та продуктивності, коли відкривається посилання в новій вкладці або вікні браузера за допомогою target="_blank".

1. Що означає rel="noopener"?

  • Він забороняє новій вкладці (або вікну), яка відкрилася, отримувати доступ до об'єкта window.opener у JavaScript.

  • Це захищає сторінку, з якої було відкрито посилання, від потенційних атак, таких як "tabnabbing".


2. Що таке "tabnabbing"?

  • Tabnabbing — це тип фішингової атаки.

  • Зловмисник може змінити URL або контент оригінальної сторінки в новій вкладці, використовуючи window.opener, і спробувати обманути користувача, наприклад, виманити дані для входу.


3. Як працює rel="noopener"?

Коли посилання має rel="noopener", нова вкладка не отримує доступ до об'єкта window.opener, а значення цього об'єкта стає null. Це:

  • Запобігає доступу до контексту вихідної сторінки.

  • Знижує ризик атак через маніпуляцію JavaScript.


4. Чи потрібно rel="noopener" для внутрішніх посилань?

Ні, це переважно для зовнішніх посилань (інших доменів), особливо в комбінації з target="_blank". Внутрішні посилання зазвичай не вимагають цього, якщо ви довіряєте своєму коду.


5. Поєднання з rel="noreferrer"

Часто rel="noopener" поєднують із rel="noreferrer". Це також забороняє передачу реферера (інформації про URL сторінки-джерела) на нову вкладку, що підвищує конфіденційність.

Приклад:

<a href="https://example.com" target="_blank" rel="noopener noreferrer">Visit Example</a>

Last updated