Article note: #didnoitknow #thx!

Die Verwendung von target=“_blank“ in Webseiten-Links ist nicht nur praktisch, um Seiten standardmäßig in einem neuen Tab öffnen zu lassen, es handelt sich dabei gleichzeitig auch um eine unterschätzte Sicherheitslücke. Eine Lösung dagegen ist die Verwendung von rel=“noopener“, was die meisten Webseitenbetreiber allerdings versäumen. In Zukunft soll Firefox diesen Zusatz automatisch annehmen, wenn target=“_blank“ verwendet wird.

Jeder Webentwickler kennt das target-Attribut mit seinem Wert _blank, um vom Benutzer geklickte Links auf Webseiten standardmäßig in einem neuen Tab statt im gleichen Tab aufrufen zu lassen. Was aber nur die Wenigsten wissen: es handelt sich dabei um eine Sicherheitslücke, welche Phishing ermöglicht. Die Lösung für Webseitenbetreiber ist einfach: wird target=“_blank“ verwendet, ist gleichzeitig auch noch rel=“noopener“ zu verwenden. Bonuspunkt: Die Verwendung von rel=“noopener“ liefert gleichzeitig auch noch einen Performance-Vorteil gegenüber dem Weglassen.

Das offensichtliche Problem an der Geschichte ist, dass zwar jeder Webentwickler das target-Attribut kennt, aber nur die wenigsten um die Notwendigkeit von rel=“noopener“ wissen, was in der Konsequenz bedeutet, dass die meisten Seiten im Web das zusätzliche Attribut für Links in neuen Tabs nicht verwenden.

Wenn der Entwickler einer Webseite target=“_blank“ verwendet und das entsprechende rel-Attribut nicht setzt, wird Firefox ab Version 79 automatisch annehmen, dass rel=“noopener“ gesetzt sein soll, womit die Sicherheitslücke auch ohne Aktion des Webentwicklers nicht mehr existiert. Soll das alte Verhalten in Kraft treten, muss der Webentwickler dieses in Zukunft explizit über rel=“opener“ aktivieren.

Das neue Verhalten ist bereits seit Version 65 in Nightly-Versionen von Firefox standardmäßig aktiviert. Da weitere Anpassungen seitens Firefox notwendig waren, schafft es diese Änderung aber erst mit Firefox 79 standardmäßig in die finale Version. Firefox 79 wird nach aktueller Planung am 28. Juli erscheinen.

Apple hat dieses Verhalten bereits in Safari 12.1 im März 2019 implementiert. Google plant, in diesem Punkt nachzuziehen.

Der Beitrag Firefox 79 bekommt implizites rel=noopener bei target=_blank erschien zuerst auf soeren-hentzschel.at.

Old but not bus­ted … – Die­ser Inhalt wur­de vor mehr als 14 Jah­ren publi­ziert. Die Kor­rekt­heit und Ver­füg­bar­keit von Links kön­nen lei­der nicht gewähr­leis­tet werden.

Zum wie­der­hol­ten Mal tauch­te heu­te beim Arbei­ten auf Launch­pad (heu­te beim Über­set­zen von Caf­feine) eine Feh­ler­mel­dung mit dem Inhalt
“No REFERER Header
Launch­pad requi­res a REFERER hea­der to per­form this action. […]”

auf – und heu­te bin ich die­ser dann auch ein­mal nach­ge­gan­gen und habe die Ursa­che behoben.

Wes­halb auch immer, aber bei mei­nem Fire­fox war die Opti­on, das die Refer­rer gesen­det wer­den, deak­ti­viert. Soll­te noch jmd. ande­res ein sol­ches Pro­blem (s.o) haben, dann könn­te Fol­gen­des helfen:

  1. neu­en Tab öff­nen, “about:config” in die Adress­zei­le schrei­ben & drücken
  2. nach dem Ein­stel­lungs­na­men “network.http.sendRefererHeader” suchen
  3. soll­te die­ser den Wert 0 haben und/oder in der Sta­tus-Spal­te “vom Benut­zer fest­ge­legt” ste­hen, dann ist dies nicht die Standardeinstellung
  4. Lösung: Rechts­klick auf “network.http.sendRefererHeader” und “zurück­set­zen” aus­wäh­len (damit soll­te der Wert auf “2” gesetzt wer­den) – fertig