atrybut rel noopener

Atrybut rel=”noopener”

Wszyscy wiedzą, że target="_blank" otwiera link w nowej zakładce. Jednak nie każdy jest świadomy, że jest on szeroką bramą do łatwych ataków typu phishing.

Nowa karta może podmienić URL karty otwierającej. W jaki sposób? Za pomocą zmiany wartości obiektu window.opener.location. I tu nie ma znaczenia, czy linkujesz do tej samej, czy innej domeny. Co dalej? Nowa strona może wykonać jakieś złośliwe javascripty. Może też łudząco przypominać standardową stronę logowania np. do banku, czy poczty. Mówimy tu wtedy konkretnie o tabnabbingu.

Oczywiście pospolity Józek ufa stronie, którą przecież świadomie kiedyś otworzył.  Po powrocie do niej nie sprawdza, czy adres URL się zmienił. Nie podejrzewa ataku. Nie jest świadomy, że został zaatakowany. Po prostu sesja wygasła. To po prostu wpiszę swoje dane jeszcze raz.

HTML 5.1 ustandaryzowało atrybut rel="noopener", który powstrzymuje przeglądarkę przed kontrolowaniem okna rodzica separując konteksty przeglądarki. Dzięki niemu obiekt  window.opener dostaje wartość null. Atrybut może być użyty z elementami <a> oraz <area>.

<a href="#" target="_blank" rel="noopener">Bezpieczny link.</a>

I co teraz? Jeżeli Wasza stronka opiera się na WordPressie, to jesteście bezpiecznie. System od wersji 4.7.4 automatycznie dodaje rel="noopener" do tworzonych linków. Dla innych systemów – lepiej pamiętajcie o ręcznym dopisywaniu atrybutu.

Więcej na ten temat możecie poczytać TUTAJ albo TUTAJ.

Artykuły, które mogą Ci się spodobać...

Wpisz hasło, którego szukasz i naciśnij ENTER, aby je wyszukać. Naciśnij ESC, aby anulować.

Dawaj na górę