7 Reaktionen

Firefox 65 bekommt implizites rel=noopener bei target=_blank

Geschätzte Lesedauer:

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.

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler aus Salzburg. Auf soeren-hentzschel.at informiert er umfassend über Neuigkeiten zu Mozilla. Außerdem ist er Betreiber von camp-firefox.de, der ersten Anlaufstelle im deutschsprachigen Raum für Firefox-Probleme aller Art. Weitere Projekte sind firefox.agenedia.com, mozilla.de, firefoxosdevices.org sowie sozone.de.

6 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Saddy
    schrieb am :

    * Worin besteht die Sicherheitslücke

    * Was genau tut rel=“noopener“

  2. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Hallo,

    das Wort "Sicherheitslücke" ist im Artikel verlinkt. Die verlinkte Seite beantwortet genau diese Fragen.

  3. Anon
    schrieb am :

    Besteht die Sicherheitslücke auch ohne target="_blank"?

  4. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Nein.

  5. Michael M.
    schrieb am :

    Seit gestern sind die Codebeispiele im Artikel kaputt.

  6. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    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.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen