Browsertijdzone versus IP-locatie: een risicosignaal vergeleken
De browsertijdzone en de uit IP afgeleide zone meten verschillende dingen. Vergelijk wat elk kan bewijzen voordat een mismatch een VPN-oordeel wordt in je risicomodel.
Een browser meldt Europe/London terwijl een IP-database het verzoek in America/New_York plaatst. Dat is een meningsverschil tussen twee waarnemingen, en het is de moeite waard om het vast te leggen. Het is geen bewijs dat de bezoeker een VPN gebruikt, en het als bewijs behandelen is waar de meeste implementaties de fout ingaan. De vergelijking hieronder houdt de twee waarden en hun faalwijzen gescheiden.
Twee waarnemingen met verschillende eigenaren
De browserwaarde is een instelling: de zone die het besturingssysteem of de gebruiker koos om datums op te maken. De databasewaarde is een schatting die aan een IP-netwerk hangt, geproduceerd door een leverancier die adresblokken aan plaatsen koppelt. Geen van beide is een geauthenticeerde uitspraak over waar de bezoeker staat, en geen van beide weet welk netwerkpad het verzoek nam.
Omdat de eigenaren verschillen, kunnen de twee waarden uiteenlopen om redenen die niets met privacyhulpmiddelen te maken hebben. Een reiziger die de thuiszone aanhoudt, een bedrijfslaptop die op de tijd van het hoofdkantoor is vastgezet, een satellietverbinding met een regionale uitgang, of een verouderde databaserij veroorzaken allemaal een mismatch.
Hoe elke waarde werkelijk tot stand komt
Een browser kan zijn opgeloste zone lezen met new Intl.DateTimeFormat().resolvedOptions().timeZonenew Intl.DateTimeFormat().resolvedOptions().timeZone
, wat een IANA-identificatie retourneert die is afgeleid van de formatterinstellingen. Het vraagt geen locatietoestemming en raadpleegt geen GPS. Los op de server het clientadres op uit je vertrouwde proxyconfiguratie en zoek het vervolgens op bij een goedgekeurde leverancier. Een doorstuurheader die de bezoeker aanlevert is niet automatisch dat adres.vpnDetectedBewaar de twee waarnemingen als afzonderlijke velden met de waarnemingstijd en de uitkomst van de opzoeking. Het afgeleide veld
vpnDetected
| noemen terwijl de berekening alleen een zonevergelijking is, bakt een conclusie in een meting en maakt latere beoordeling moeilijker. | Wat overeenstemming en afwijking elk bewijzen |
|---|---|
| Waarneming | Wat het onopgelost laat |
| Verschillende gerapporteerde zones | Reizen, een aangehouden instelling, een bedrijfsgateway, een proxy of een databasefout kunnen het allemaal veroorzaken. |
| Dezelfde gerapporteerde zone | Een VPN-uitgang kan in de zone van de gebruiker liggen, dus overeenstemming bewijst geen directe verbinding. |
Eén waarde ontbreekt of is ongeldig
De vergelijking is niet beschikbaar, wat geen overeenstemming en geen afwijking is.
De asymmetrie is belangrijker dan de tabel suggereert. Een afwijking heeft veel onschuldige verklaringen, terwijl een overeenstemming er minstens één schuldige heeft, dus geen van beide richtingen ondersteunt een categorische regel. De eigen nauwkeurigheidsnotities van de leverancier beschrijven beperkte precisie en ontbrekende gegevens, en ze wijzen erop dat een anonimiseringsdienst de locatie van zijn server kan tonen in plaats van die van de gebruiker.
Daarom hoort het signaal in een risicoscore met een vastgelegde reden en een expliciete onbekende toestand, niet in een boolean die toegang regelt.
UTC-offsets zijn geen snelkoppeling
Offsets vergelijken in plaats van zone-identificaties herstelt de gevolgtrekking niet. Twee verschillende zones kunnen een deel van het jaar dezelfde offset delen, en dezelfde zone kan de offset op een zomertijdsgrens wijzigen. Als een functie echt een offset nodig heeft voor planning, bereken die dan voor het specifieke moment in plaats van één getal op te slaan en dat als identiteitsbewijs te hergebruiken.
Stringvergelijking heeft zijn eigen valkuil: twee spellingen van dezelfde zone, of een oude alias, verschillen als tekst terwijl ze dezelfde instelling beschrijven. Valideer de identificaties en vergelijk via de tijdzoneafhandeling van het platform in plaats van ruwe strings te matchen.
Blokkeren of scoren: kies de respons bewust