Ein Konto, das sich selbst löscht
Die Meldung klang zunächst nach einem einfachen Fehler im Bestätigungslink: Jemand registriert sich, bekommt die Bestätigungs-E-Mail, klickt auf „Profil bestätigen“ – und landet wieder auf dem Registrierungsformular. Beim anschließenden Anmeldeversuch heißt es, Benutzername oder E-Mail-Adresse existierten nicht.
Betroffen war die Plattform für digitale Nachlass- und Notfallvorsorge, die wir in einem früheren Beitrag bereits vorgestellt haben – auch hier ohne Kundennamen. Der Link war nicht kaputt. Das Konto existierte zum Zeitpunkt des Klicks einfach nicht mehr: Es war rund 36 Sekunden nach der Registrierung bestätigt und wieder gelöscht worden. Geklickt hatte dabei kein Mensch, sondern der Sicherheitsfilter des Postfachs.
Das Muster betrifft jede Website, die Bestätigungslinks per E-Mail verschickt: Registrierungen, Double-Opt-In für Newsletter, „Abmelden“-Links, Freigaben. Und es ist tückisch, weil es in keinem Fehlerprotokoll auftaucht.
Die Herausforderung
Die Bestätigungsmail enthielt zwei Links: „Profil bestätigen“ und „Profil löschen“. Beide waren gewöhnliche Links, die beim Aufruf sofort ihre Aktion ausführten – das Konto aktivieren beziehungsweise endgültig entfernen. Daraus ergaben sich mehrere Probleme:
- Ein Linkaufruf verändert Daten. Ein normaler Seitenaufruf (technisch: ein
GET-Request) soll nach den Regeln des Webs nur etwas anzeigen, nie etwas verändern. Bestätigungs- und Lösch-Links in E-Mails verstoßen klassischerweise genau dagegen. - Mail-Security ruft jeden Link auf. Dienste wie Microsoft Defender mit „Safe Links“ oder ein Firmen-Proxy öffnen beim Zustellen einer Mail alle enthaltenen Links im Hintergrund, um sie auf Schadsoftware zu prüfen – auch den, den niemand drücken sollte.
- Die Reihenfolge war fatal. Der Scanner bestätigte das Konto und löschte es im selben Moment über den zweiten Link wieder. Klickte der Mensch später selbst, fand das System kein Konto mehr und schickte ihn zurück zur Registrierung.
- Nichts sieht nach Fehler aus. Für das System waren beides ganz normale, erfolgreiche Aufrufe mit einer regulären Weiterleitung. Kein Absturz, keine Fehlermeldung, kein Alarm im Monitoring – Anmeldungen versickern einfach still.
Unsere Lösung
1. Beweisführung aus den Produktionsdaten
Statt am Bestätigungslink herumzurätseln, haben wir uns die betroffene Registrierung direkt im Produktivsystem angesehen. Dieselbe Adresse hatte sich am selben Tag zweimal registriert – und beide Konten wurden kurz darauf wieder entfernt:
| erste Registrierung | angelegt 11:53:12, gelöscht 11:53:48 |
| zweite Registrierung | angelegt 12:35:28, gelöscht 12:36:05 |
Das Zugriffsprotokoll des Webservers zeigte, was in diesen Sekunden passierte: Der Bestätigungs- und der Lösch-Link wurden in derselben Sekunde aufgerufen – ohne Herkunftsangabe (Referer), wie sie ein Klick aus einem Mailprogramm im Browser normalerweise mitbringt, und von Adressen eines Firmen-Proxys und aus einem Microsoft-Netz. So schnell und so vollständig klickt kein Mensch. Der echte Klick kam erst knapp zwei Minuten später, aus einem gewöhnlichen Browser – und lief ins Leere.
Die Mail war schon „gelesen“, bevor der Empfänger sie überhaupt geöffnet hatte.
2. Erst eine Zwischenseite, dann die Aktion
Das Prinzip der Lösung: Ein Link aus der E-Mail darf nur noch eine Seite anzeigen. Die eigentliche Änderung passiert erst, wenn ein Mensch dort bewusst einen Button drückt – technisch als POST-Request, den ein Link-Scanner nicht auslöst.
- In der Mail wird „Profil bestätigen“ angeklickt.
- Es öffnet sich eine Zwischenseite mit dem Text „Bitte bestätigen Sie die Erstellung Ihres Kontos“ und dem Button „Profil jetzt erstellen“.
- Erst dieser Klick aktiviert das Konto, meldet die Person direkt an und führt sie in die Einrichtung ihres Profils.
- Der Link „Profil löschen“ funktioniert genauso: Er öffnet eine Rückfrage, und gelöscht wird erst nach der ausdrücklichen Bestätigung.
Bemerkenswert: Die Plattform läuft auf TYPO3, die Registrierung über die verbreitete Erweiterung femanager – und die bringt genau diese Schutzfunktion bereits mit. Sie ist allerdings standardmäßig ausgeschaltet. Wichtig ist, beide Schalter zu setzen: Der eine verhindert das automatische Löschen, der andere das automatische Bestätigen. Ohne den zweiten wäre das Konto zwar erhalten geblieben, beim eigenen Klick wäre man aber mit „bereits bestätigt“ wieder auf dem Registrierungsformular gelandet.
3. Die Fallstricke beim Einschalten
Mit dem Umlegen zweier Schalter war es nicht getan. Drei Stellen mussten mitgezogen werden, sonst hätte die Lösung neue Fehler erzeugt:
- Weiterleitungen. Mit der Zwischenseite meldet das System intern einen anderen Status zurück. Die bisher eingestellte Weiterleitung nach erfolgreicher Bestätigung griff dadurch nicht mehr – ohne Anpassung wären die Nutzer wieder auf dem Registrierungsformular gelandet, nur diesmal aus einem anderen Grund. Wir haben die Ziele für beide neuen Fälle ergänzt: nach der Bestätigung in die Einrichtung des Profils, nach dem Löschen auf die Startseite.
- Design und Sprachen. Ab Werk erscheint die Zwischenseite ungestaltet und auf Englisch. Wir haben sie im Seiten-Design umgesetzt – mit denselben Buttons wie Login und Registrierung – und in alle acht Sprachen der Plattform übersetzt.
- Absender und Betreff. Die Bestätigungsmail kam bisher von einer Standard-Absenderadresse der Erweiterung mit englischem Betreff. Jetzt kommt sie vom Absender der Plattform mit dem Betreff „Bitte bestätigen Sie Ihre Registrierung“. Eine vertrauenswürdige Absenderadresse verringert das Risiko, als Spam eingestuft oder besonders scharf geprüft zu werden.
4. Geprüft wie ein Scanner – und wie ein Mensch
Getestet haben wir mit echten Registrierungen über das Formular, auf einer Kopie der Produktionsdaten. Zuerst haben wir beide Links so aufgerufen, wie es ein Scanner tut: einfacher Seitenaufruf, kein Klick. Ergebnis: Beide Seiten luden, das Konto blieb unberührt – weder bestätigt noch gelöscht. Erst der Klick auf den Button aktivierte das Konto beziehungsweise löschte es. Anschließend lief der vollständige Weg von der Anmeldung bis zur Profileinrichtung mehrfach durch, auch über die französische und die russische Registrierungsseite.
Bis zur Umsetzung gab es eine einfache Übergangslösung: Mit einem privaten Postfach ohne Firmen-Sicherheitsfilter funktionierte die Registrierung weiterhin. Für eine Plattform, deren Nutzer oft über Einrichtungen und deren Firmen-Postfächer kommen, war das aber keine Dauerlösung.
Das Ergebnis
- Registrierungen kommen wieder an, auch bei Empfängern mit Microsoft-Postfach oder Firmen-Proxy.
- Automatische Linkprüfungen richten keinen Schaden mehr an: Sie sehen nur noch eine Zwischenseite, das Konto bleibt unverändert.
- Ein Klick mehr, aber kein Umweg: Nach der Bestätigung ist man direkt angemeldet und landet in der Einrichtung des eigenen Profils.
- Zwischenseite im Seiten-Design und in allen acht Sprachen der Plattform.
- Vertrauenswürdigere Mail: eigener Absender, deutscher Betreff.
Fazit
Der Fehler war in keinem Protokoll als Fehler zu sehen und ließ sich nur über die Zeitstempel in Datenbank und Zugriffsprotokoll nachweisen. Die Lehre gilt für jede Website mit Bestätigungsmails: Prüfen Sie, ob ein Link aus Ihren E-Mails beim bloßen Aufruf etwas verändert – ein Konto aktiviert, eine Anmeldung bestätigt, ein Abo beendet.
Ein Link in einer E-Mail wird heute nicht nur von Menschen geöffnet. Alles, was beim bloßen Aufruf Daten verändert, gehört hinter eine Zwischenseite mit einem bewussten Klick – sonst entscheidet der Virenscanner des Empfängers, was mit seinem Konto passiert.