Abweichende Zeitzone: die billigste Konsistenzprüfung im Web

Von allen Konsistenzprüfungen, die eine Website durchführen kann, ist der Vergleich der Zeitzonen die billigste. Er braucht einen JavaScript-Aufruf und eine Abfrage, die der Server ohnehin macht. Er gehört auch zu den häufigsten Gründen, warum ein Konto einen zweiten Blick bekommt.
Zwei Zeitzonen, zwei Quellen
Die erste Zeitzone stammt aus Ihrer Adresse. Der Server weiß, woher die Anfrage kam, und ordnet diese Adresse über eine Geolokalisierungsdatenbank einer Region und deren Zeitzone zu. Für eine Verbindung aus Paris ist das Europe/Paris. Das geschieht auf dem Server; Ihr Browser hat dabei kein Mitspracherecht.
Die zweite stammt aus Ihrem Browser. Intl.DateTimeFormat().resolvedOptions().timeZone liefert den IANA-Namen, auf den das Betriebssystem eingestellt ist, und new Date().getTimezoneOffset() liefert den aktuellen UTC-Versatz. Ist der Rechner auf Berlin eingestellt, sieht die Seite Europe/Berlin, unabhängig davon, woher die Pakete kamen.
Warum sie voneinander abweichen
Die harmlosen Gründe sind Reisen, ein Laptop, dessen Uhrenregion nie umgestellt wurde, und Firmennetzwerke, die in einem anderen Land ausleiten. Der Grund, der Websites interessiert, sind Proxys: ein Browser in einem Land, der eine Adresse in einem anderen nutzt, ohne dass jemand an die Uhr gedacht hat. Paris und Berlin haben denselben Versatz, der Versatz allein würde also übereinstimmen; der IANA-Name nicht. Prüfungen, die Namen vergleichen, fangen das ab, weshalb eine Diagnose sowohl den Namen des Browsers als auch den der Adresse anzeigt statt eines numerischen Versatzes.
Was eine Abweichung bedeutet
Für sich genommen nichts Eindeutiges. Viele echte Menschen lösen sie aus. Aber es ist ein billiges Signal, und Scoring-Systeme addieren billige Signale. Eine Abweichung plus eine als Hosting klassifizierte Adresse plus ein WebRTC-Kandidat an einem dritten Ort ist etwas anderes als eine Abweichung allein.
Beide in Einklang bringen
Es gibt zwei Wege zu einem konsistenten Ergebnis. Die Zeitzone des Betriebssystems an die Adresse anpassen, was funktioniert, aber umständlich ist, wenn mehrere Profile unterschiedliche Adressen nutzen. Oder das Browser-Profil die gemeldete Zeitzone überschreiben lassen, was speziell gebaute Browser tun: Die Zeitzone des Profils folgt der Adresse, mit der es gestartet wird, sodass beide Namen automatisch übereinstimmen. Der zweite Ansatz muss auch den aktuellen Versatz, Sommerzeit-Übergänge und die lokalisierten Datumsstrings abdecken, denn ein Skript kann all das vergleichen. Ein Profil, das Europe/Paris meldet, aber Daten mit Berliner Versatz formatiert, hat den Widerspruch nur verschoben.
Worauf Sie in einem Bericht achten sollten
Eine Diagnose, die „Zeitzone laut IP“ und „Zeitzone“ nebeneinander zeigt und Abweichungen markiert, tut genau das, was die Prüfung einer Website täte. Stimmen sie überein, besteht die Prüfung. Wenn nicht, wissen Sie jetzt, welche der beiden Sie ändern müssen. In beiden Fällen ist der Vergleich selbst der nützliche Teil, nicht ein daran hängender Score.


