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"?
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 сторінки-джерела) на нову вкладку, що підвищує конфіденційність.
Приклад:
<a href="https://example.com" target="_blank" rel="noopener noreferrer">Visit Example</a>Last updated