Man lernt nie aus. Bis vor Kurzem ging ich davon aus, dass die Möglichkeit in WordPress, externe Links in einem neuen Tab öffnen zu lassen, einzig eine Frage der Usability sei. Also gegebenenfalls der Nutzererfahrung entgegenwirkt. Dass damit auch eine Sicherheitslücke verbunden sein könnte, war mir leider nicht bekannt. Wie so viele wurde auch ich erst durch das letzte WordPress Update auf das Problem aufmerksam. Wobei das Ganze gar kein WordPress Problem ist. Vielmehr handelt es sich dabei um eine Schwachstelle der Internetbrowser, der sich WordPress 4.7.4 nun angenommen hat.
Externe Links in einem neuen Tab öffnen – das Problem
Ich weiß nicht, wie es Ihnen geht, aber ich stehe darauf, wenn sich externe Links in neuem Tab öffnen. Nur leider war mir überhaupt nicht bewusst, dass ich damit in die Phishing-Falle tappen könnte. Phishing, das haben wir alle schon mal gehört, bedeutet, über zum Beispiel gefälschte Mails Internetnutzer dazu zu bringen, ihre persönlichen Daten preiszugeben. Schlimmstenfalls führt das Ganze zu Identitätsdiebstahl. Doch wie soll das im Rahmen des Öffnens eines Links in neuem Tab geschehen?
Im Artikel Unterschätzte Sicherheitslücke bei Facebook & co erklärten die Autoren von t3n das Ganze bereits im September 2016 sehr anschaulich anhand von Facebook. Das Prinzip gilt aber für jede Website. Denn in dem Moment, da der neue Tab sich öffnet, erhält die Zielwebsite Zugriff auf den Quelltab. So kann das Ziel nicht nur die URL der Quelle abfragen, sondern auch ersetzen. Es kann also passieren, dass Sie nur glauben, zu Ihrer Quelle zurückzukehren. Tatsächlich aber landen Sie auf einer ganz anderen URL. Vielleicht gibt die vor, die bekannte Website zu sein. Oder Sie haben ohnehin so viele Tabs offen, dass Sie gar nicht merken, dass plötzlich etwas Neues dabei ist. So oder so: Wenn Sie dort dann auch noch Ihre Daten eingeben… Tja, das kann böse enden.
Die Lösung für das Problem: rel="noopener noreferrer"
Damit das böse Ziel die gute Quelle überhaupt ersetzen kann, braucht es eine wesentliche Information: die URL der Quelle. Diese wird automatisch mitgeschickt, wenn Sie durch Aktiveren des Link in einem neuen Tab öffnen für die Auszeichnung des Attributes target="_blank"
sorgen. Nun gibt es aber ein anderes Attribut, das unterbindet diese unerwünschte Manipulation. Es heißt eigentlich nur rel="noopener"
. Da aber nicht jeder Browser dies versteht, braucht es noch ein rel="noreferrer"
. In kurzer Form lautet es rel="noopener noreferrer"
. Im Quelltext sieht ein Link auf eine externe Website, die im neuen Tab öffnen soll, also wie folgt aus:
<a href="URL-zur-externen-Seite.de" target="_blank" rel="noopener noreferrer">
Die gute Nachricht: WordPress vergibt dieses Attribut nun automatisch
Das Update auf WordPress 4.7.4 schließt nun diese Sicherheitslücke für Ihre Website oder Ihr Blog. Wann immer Sie fortan einen neuen Beitrag mit einem externen Link versehen, der im neuen Tab öffnet, wird dieser automatisch mit dem zusätzlichen Attribut ausgezeichnet. Bereits veröffentlichte Beiträge hingegen sind davon nicht betroffen. Alte Beiträge erhalten das rel="noopener noreferrer"
Attribut erst, wenn Sie diese aktualisieren. Mit anderen Worten: Es erfordert ein wenig Fleißarbeit, alle alten Beiträge per Hand zu aktualisieren. Glauben Sie mir, ich weiß, wie sich das anfühlt…
Ebenso nicht automatisch ändern sich die Links, die Sie im Rahmen eines Textwidgets ausgezeichnet haben. Auch hier ist es notwendig, das rel="noopener noreferrer"
selbst zu ergänzen.
Die schlechte Nachricht: WordPress vergibt dieses Attribut nun automatisch…
Für all jene, die auf Ihrer Website oder Ihrem Blog mit dem Amazon oder einem anderem Affiliate Programm arbeiten, ist das automatische Auszeichnen mit rel="noreferrer"
keine gute Nachricht. Soweit ich es verstehe, brauchen alle entsprechenden Anbieter diese Absender-Information, die nun unterdrückt wird. Wer also sein Geld tatsächlich mit einem solchen Programm verdient, steht nun vor einem echten Dilemma. Zwar werden verschiedene Lösungsansätze längst diskutiert. Die reichen von externe Links dann doch nicht im neuen Tab öffnen bis hin zum passenden Ändern der functions.php, um WordPress davon abzuhalten, das rel-Attribut automatisch zu vergeben. Doch Ersteres dürfte die Nutzererfahrung nicht wirklich verbessern, während gerade Letzeres nicht das grundlegende Problem der Sicherheitslücke löst. Aber so ist das nun mal mit Dilemmas: Per Definition bieten sie nur unerwünschte Lösungen.
Halbgare Lösung: Werbelinks im Rahmen Benutzerdefinierter Felder veröffentlichen
Eine halbgare Lösung wäre das Veröffentlichen dieser Werbelinks im Rahmen Benutzerdefinierter Felder. Denn so wie die mit target="_blank"
ausgezeichneten Links, die Sie im Rahmen eines Textfeldes veröffentlichen, sind auch externe Links in einem Benutzerdefinierten Feld nicht von der neuen automatischen Auszeichnung mit rel="noopener noreferrer"
betroffen. Auch das löst natürlich nicht das grundlegende Problem. Immerhin sorgen Sie auf diese Weise dafür, dass ausschließlich Ihre Affiliate Links den Referrer mitschicken.
Beitragsbild: Britta Kretschmer
Schreibe einen Kommentar