En webbläsare rapporterar Europe/London medan en IP-databas placerar begäran i America/New_York. Det är en oenighet mellan två observationer, och den är värd att registrera. Det är inte bevis för att besökaren använder VPN, och att behandla det som bevis är där de flesta implementationer går fel. Jämförelsen nedan håller de två värdena och deras fellägen åtskilda.

Två observationer med olika ägare

Webbläsarens värde är en inställning: zonen som operativsystemet eller användaren valde för att formatera datum. Databasens värde är en uppskattning knuten till ett IP-nätverk, framtagen av en leverantör som kartlägger adressblock till platser. Ingen av dem är ett autentiserat påstående om var besökaren står, och ingen av dem vet vilken nätverksväg begäran tog.

Eftersom ägarna skiljer sig kan de två värdena gå isär av skäl som inte har något med integritetsverktyg att göra. En resenär som behåller hemmazonen, en företagsbärbar låst vid huvudkontorets tid, en satellitlänk med regional utgång, eller en inaktuell databasrad ger alla en avvikelse.

Hur varje värde faktiskt produceras

En webbläsare kan läsa sin upplösta zon med new Intl.DateTimeFormat().resolvedOptions().timeZone, vilket returnerar en IANA-identifierare härledd från formateringsinställningarna. Den begär inte platsbehörighet och den konsulterar inte GPS. På servern löser du ut klientadressen från din betrodda proxykonfiguration och slår sedan upp den hos en godkänd leverantör. En vidarebefordringsheader som besökaren tillhandahåller är inte automatiskt den adressen.

Lagra de två observationerna som separata fält tillsammans med observationstiden och resultatet av uppslaget. Att kalla det härledda fältet vpnDetected när beräkningen bara är en zonjämförelse bakar in en slutsats i en mätning och gör senare granskning svårare.

Vad samstämmighet och avvikelse vardera bevisar

ObservationVad den lämnar oklart
Olika rapporterade zonerResa, en bibehållen inställning, en företagsgateway, en proxy eller ett databasfel kan alla ge det.
Samma rapporterade zonEn VPN-utgång kan ligga i användarens zon, så samstämmighet bevisar ingen direkt anslutning.
Ett värde saknas eller är ogiltigtJämförelsen är inte tillgänglig, vilket varken är samstämmighet eller avvikelse.

Asymmetrin betyder mer än tabellen antyder. En avvikelse har många oskyldiga förklaringar, medan en samstämmighet har minst en skyldig, så ingen av riktningarna stöder en kategorisk regel. Leverantörens egna noggrannhetsanteckningar beskriver begränsad precision och saknade data, och de påpekar att en anonymiseringstjänst kan exponera sin serverplats i stället för användarens.

Därför hör signalen hemma i en riskpoäng med en registrerad orsak och ett uttryckligt okänt tillstånd, inte i ett booleskt värde som styr åtkomst.

UTC-förskjutningar är ingen genväg

Att jämföra förskjutningar i stället för zonidentifierare reparerar inte slutsatsen. Två olika zoner kan dela en förskjutning under en del av året, och samma zon kan ändra förskjutning vid en sommartidsgräns. Om en funktion verkligen behöver en förskjutning för schemaläggning, beräkna den för det specifika ögonblicket i stället för att lagra ett enda tal och återanvända det som identitetsbevis.

Strängjämförelse har sin egen fälla: två stavningar av samma zon, eller ett äldre alias, skiljer sig som text trots att de beskriver samma inställning. Validera identifierarna och jämför via plattformens tidszonshantering i stället för att matcha råa strängar.

Blockera eller poängsätt: välj responsen medvetet

För en tidsvisning, fråga besökaren vilken zon de föredrar och stanna där. För ett riskhanteringssystem för applikationer, behandla en avvikelse som en svag kontextuell signal vid sidan av bevis som passar den faktiska hotmodellen, och låt ett uppslag som misslyckas ge ett okänt svar i stället för en tyst detektion. Att blockera enbart på jämförelsen gör ett mätglapp till en anklagelse mot användaren.

Om ett avgörande beslut behöver starkare säkerhet, använd ett autentiserings- eller verifieringssteg som är utformat för det. En tidszonsheuristik kan inte ge den säkerheten, och en detektor som räknar saknade bevis som framgång kan se effektiv ut medan den svarar på en annan fråga än den du ställde.

Relaterade artiklar