Firefox 65 bekommt implizites rel=noopener bei target=_blank
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.
Zusammengefasst: Webseiten-Entwickler sollten statt
[pastacode lang=“markup“ manual=“%3Ca%20href%3D%22https%3A%2F%2Fwww.soeren-hentzschel.at%22%20target%3D%22_blank%22%3ELinktext%3C%2Fa%3E“ message=“HTML“ highlight=““ provider=“manual“/]
… folgenden Code verwenden:
[pastacode lang=“markup“ manual=“%3Ca%20href%3D%22https%3A%2F%2Fwww.soeren-hentzschel.at%22%20target%3D%22_blank%22%20rel%3D%22noopener%22%3ELinktext%3C%2Fa%3E“ message=“HTML“ highlight=““ provider=“manual“/]
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. Die Nightly-Version von Firefox 65 setzt nun implizit rel=“noopener“ bei Verwendung von target=“_blank“. Das bedeutet, dass wenn der Entwickler einer Webseite target=“_blank“ verwendet und das entsprechende rel-Attribut nicht setzt, Firefox dann automatisch annimmt, 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. Damit folgt Mozilla dem Beispiel von Apple, welche dieses Verhalten vor wenigen Wochen für Safari implementiert haben.
Mozilla hat das neue Verhalten derzeit noch auf Nightly- und frühe Beta-Versionen limitiert, um erst einmal Daten bezüglich möglicher Web-Kompatibilitätsprobleme zu erhalten. Je nachdem tritt die Änderung damit entweder in der finalen Version von Firefox 65 oder auch erst später in Kraft. Gesteuert wird dies über die Einstellung dom.targetBlankNoOpener.enable in about:config, wobei true das neue Verhalten und false das alte Verhalten aktiviert. Firefox 65 wird am 29. Januar 2019 erscheinen.
* Worin besteht die Sicherheitslücke
* Was genau tut rel=“noopener“
Hallo,
das Wort "Sicherheitslücke" ist im Artikel verlinkt. Die verlinkte Seite beantwortet genau diese Fragen.
Besteht die Sicherheitslücke auch ohne target="_blank"?
Nein.
Seit gestern sind die Codebeispiele im Artikel kaputt.
Das hängt damit zusammen, dass das dafür genutzte Plugin nicht kompatibel mit dem gestern erschienen WordPress 5.0 ist. Ich weiß noch nicht, wie ich das lösen werde.