rel = noopener
Приклад:
target="_blank"
відкриває посилання у новій вкладці.rel="noopener"
захищає вашу сторінку від маніпуляцій із боку сторінки Facebook, яка відкриється в новій вкладці.
Атрибут rel="noopener"
використовується для підвищення безпеки та продуктивності, коли відкривається посилання в новій вкладці або вікні браузера за допомогою target="_blank"
.
1. Що означає rel="noopener"
?
rel="noopener"
?Він забороняє новій вкладці (або вікну), яка відкрилася, отримувати доступ до об'єкта
window.opener
у JavaScript.Це захищає сторінку, з якої було відкрито посилання, від потенційних атак, таких як "tabnabbing".
2. Що таке "tabnabbing"?
Tabnabbing — це тип фішингової атаки.
Зловмисник може змінити URL або контент оригінальної сторінки в новій вкладці, використовуючи
window.opener
, і спробувати обманути користувача, наприклад, виманити дані для входу.
3. Як працює rel="noopener"
?
rel="noopener"
?Коли посилання має rel="noopener"
, нова вкладка не отримує доступ до об'єкта window.opener
, а значення цього об'єкта стає null
. Це:
Запобігає доступу до контексту вихідної сторінки.
Знижує ризик атак через маніпуляцію JavaScript.
4. Чи потрібно rel="noopener"
для внутрішніх посилань?
rel="noopener"
для внутрішніх посилань?Ні, це переважно для зовнішніх посилань (інших доменів), особливо в комбінації з target="_blank"
. Внутрішні посилання зазвичай не вимагають цього, якщо ви довіряєте своєму коду.
5. Поєднання з rel="noreferrer"
rel="noreferrer"
Часто rel="noopener"
поєднують із rel="noreferrer"
. Це також забороняє передачу реферера (інформації про URL сторінки-джерела) на нову вкладку, що підвищує конфіденційність.
Приклад:
Last updated