Discrepanza del fuso orario: il controllo di coerenza più economico del web

Tra tutti i controlli di coerenza che un sito web può eseguire, il confronto dei fusi orari è il più economico. Richiede una sola chiamata JavaScript e una sola consultazione che il server fa già. È anche uno dei motivi più comuni per cui un account viene guardato con più attenzione.
Due fusi orari, due fonti
Il primo fuso orario viene dal tuo indirizzo. Il server sa da dove è arrivata la richiesta e usa un database di geolocalizzazione per associare quell'indirizzo a una regione e al suo fuso orario. Per una connessione da Parigi è Europe/Paris. Questo avviene sul server; il tuo browser non ha voce in capitolo.
Il secondo viene dal tuo browser. Intl.DateTimeFormat().resolvedOptions().timeZone restituisce il nome IANA con cui è configurato il sistema operativo, e new Date().getTimezoneOffset() restituisce lo scarto UTC attuale. Se la macchina è impostata su Berlino, la pagina vede Europe/Berlin, indipendentemente da dove siano arrivati i pacchetti.
Perché discordano
I motivi onesti sono i viaggi, un portatile a cui non è mai stata cambiata la regione dell'orologio e le reti aziendali che escono in un altro paese. Il motivo che interessa ai siti sono i proxy: un browser in un paese che usa un indirizzo in un altro, senza che nessuno abbia pensato all'orologio. Parigi e Berlino hanno lo stesso scarto, quindi il solo scarto coinciderebbe; il nome IANA no. I controlli che confrontano i nomi lo scoprono, ed è per questo che una diagnostica mostra sia il nome del browser sia quello dell'indirizzo, invece di uno scarto numerico.
Cosa significa una discrepanza
Da sola, nulla di conclusivo. Molte persone reali la provocano. Ma è un segnale economico, e i sistemi di punteggio sommano i segnali economici. Una discrepanza più un indirizzo classificato come hosting più un candidato WebRTC in un terzo luogo è una storia diversa rispetto a una discrepanza da sola.
Farli concordare
Ci sono due modi per ottenere un risultato coerente. Impostare il fuso orario del sistema operativo in modo che corrisponda all'indirizzo, cosa che funziona ma è macchinosa quando più profili usano indirizzi diversi. Oppure lasciare che il profilo del browser sostituisca il fuso orario che dichiara, che è ciò che fanno i browser costruiti allo scopo: il fuso orario del profilo segue l'indirizzo con cui viene avviato, così i due nomi coincidono in automatico. Il secondo approccio deve coprire anche lo scarto attuale, i passaggi all'ora legale e le stringhe di data localizzate, perché uno script può confrontare tutto questo. Un profilo che dichiara Europe/Paris ma formatta le date con lo scarto di Berlino ha solo spostato la contraddizione.
Cosa cercare in un report
Una diagnostica che mostra «Fuso orario basato sull'IP» e «Fuso orario» affiancati, e li segnala quando differiscono, fa esattamente ciò che farebbe il controllo di un sito. Se coincidono, il controllo è superato. Se no, ora sai quale dei due cambiare. In ogni caso la parte utile è il confronto in sé, non un punteggio associato.


