Sicherheitsrisiko target="_blank"
von Marco Simbürger
Was viele nicht wissen: Ein simples target="_blank" ist bei einem Link ein potentielles Sicherheitsrisiko. Durch das Öffnen eines neuen Fensters oder Tabs wird vom Browser der Befehl window.opener ausgeführt. Zu diesem Zeitpunkt erhält das neue Fenster Zugriff auf das Quellfenster (Fensterobjekt). Dabei kann einfach mit dem JavaScript-Befehl window.open.location = newURL die Zielanfrage umgeleitet oder der aktuelle Fensterinhalt geändert werden.
Deshalb sollte man Links mit target="_blank" immer mit zusätzlichen Attributen schützen.
rel="noopener" verhindert, dass die neue Seite auf die Eigenschaft window.opener zugreifen kann und stellt sicher, dass sie in einem separaten Prozess ausgeführt wird.
rel="noreferrer" Dieses Attribut hat den gleichen Effekt, verhindert aber auch, dass der Referer-Header an die neue Seite gesendet wird.
Beispiel:
<a href="https://contao.org" target="_blank" rel="noreferrer noopener">Contao</a>
Contao fügt bereits automatisch das noopener-Attribute den traget="_blank" Links hinzu.
Für Drupal gibt es natürlich ein Modul dafür: noreferrer
Für Custom-Entwicklungen gibt es von Namics ein cooles Plugin: prevent-window-opener-attacks
Kommentare
Kommentar von Robert |
Danke, war sehr hilfreich dein Artikel
Einen Kommentar schreiben