Linki z target="_blank"
na nich są narażone na zamianę strony odsyłającej w tle, podczas gdy uwaga użytkownika jest odwracana przez nowo otwartą kartę. Jest to znane jako odwrócone tabnapping :
Strona odsyłająca jest przechowywana w window.opener
, a złośliwa witryna może to zmienić poprzez:
if (window.opener) {
window.opener.location = "https://phish.example.com";
}
Dodanie rel="noopener noreferrer"
naprawia tę lukę we wszystkich głównych przeglądarkach.
Zauważ, że teoretycznie możesz usunąć stronę rel
klienta poprzez manipulację ... ale dlaczego miałbyś to robić? Wszystko, co robisz, to celowe narażanie się na atak.
Inni użytkownicy, którzy odwiedzają tę samą witrynę (i nie modyfikują własnego kodu po stronie klienta) nadal byliby bezpieczni, ponieważ serwer nadal obsługiwałby rozszerzenie rel="noopener noreferrer"
. Twoje usunięcie dotyczy tylko Ciebie.