Brauser teatab Europe/London, samal ajal kui IP-andmebaas paigutab päringu America/New_Yorki. See on lahknevus kahe vaatluse vahel ja seda tasub kirja panna. See ei ole tõestus, et külastaja kasutab VPN-i, ja just selle tõestusena käsitlemine on koht, kus enamik rakendusi eksib. Alljärgnev võrdlus hoiab kaks väärtust ja nende rikkerežiimid lahus.

Kaks erineva omanikuga vaatlust

Brauseri väärtus on säte: vöönd, mille operatsioonisüsteem või kasutaja valis kuupäevade vormindamiseks. Andmebaasi väärtus on IP-võrguga seotud hinnang, mille toodab teenusepakkuja, kes vastendab aadressiplokid kohtadega. Kumbki ei ole autenditud väide selle kohta, kus külastaja asub, ja kumbki ei tea, millise võrgutee päring läbis.

Kuna omanikud erinevad, võivad kaks väärtust lahkneda põhjustel, millel pole privaatsustööriistadega midagi pistmist. Koduvööndit hoidnud reisija, peakontori ajale kinnitatud tööläpakas, piirkondliku väljapääsuga satelliitühendus või andmebaasis vananenud rida tekitavad kõik lahknevuse.

Kuidas kumbki väärtus tegelikult tekib

Brauser saab oma lahendatud vööndi lugeda nii: new Intl.DateTimeFormat().resolvedOptions().timeZone, mis tagastab vormindaja sätetest tuletatud IANA-tunnuse. See ei küsi asukohaluba ega konsulteeri GPS-iga. Serveris tehke kliendi aadress kindlaks oma usaldusväärsest puhverserveri konfiguratsioonist ja otsige see seejärel üles heakskiidetud teenusepakkuja juures. Külastaja esitatud edastuspäis ei ole automaatselt see aadress.

Hoidke kahte vaatlust eraldi väljadel koos vaatlusaja ja otsingu tulemusega. Tuletatud välja nimetamine vpnDetected-ks, kui arvutus on vaid vööndite võrdlus, küpsetab järelduse mõõtmise sisse ja raskendab hilisemat ülevaatamist.

Mida kokkulangevus ja lahknevus kumbki tõestavad

VaatlusMis jääb lahendamata
Erinevad teatatud vööndidReisimine, säilitatud säte, ettevõtte lüüs, puhverserver või andmebaasi viga võivad kõik selle tekitada.
Sama teatatud vööndVPN-i väljapääs võib asuda kasutaja vööndis, seega kokkulangevus ei tõenda otsest ühendust.
Üks väärtus puudub või on kehtetuVõrdlus pole saadaval, mis ei ole ei kokkulangevus ega lahknevus.

Asümmeetria loeb rohkem, kui tabel vihjab. Lahknevusel on palju süütuid seletusi, kokkulangevusel aga vähemalt üks süüdlane, seega kumbki suund kategoorilist reeglit ei toeta. Teenusepakkuja enda täpsusmärkused kirjeldavad piiratud täpsust ja puuduvat andmeid ning osutavad, et anonüümimisteenus võib paljastada pigem oma serveri asukoha kui kasutaja oma.

Seetõttu kuulub signaal riskiskoori, millel on kirja pandud põhjus ja selgesõnaline teadmata olek, mitte juurdepääsu väravaks olevasse tõeväärtusesse.

UTC nihked ei ole otsetee

Nihete võrdlemine vöönditunnuste asemel ei paranda järeldust. Kaks erinevat vööndit võivad osa aastast nihet jagada ja sama vöönd võib suveaja piiril nihet muuta. Kui funktsioon vajab planeerimiseks tõesti nihet, arvutage see konkreetse hetke jaoks, selle asemel et salvestada üks arv ja kasutada seda uuesti identiteedi tõendina.

Stringide võrdlemisel on oma lõks: sama vööndi kaks kirjaviisi või vana alias erinevad tekstina, kuigi kirjeldavad sama sätet. Valideerige tunnused ja võrrelge platvormi ajavööndi töötluse kaudu, selle asemel et sobitada töötlemata stringe.

Blokeerida või skoorida: valige reaktsioon teadlikult

Aja kuvamiseks küsige külastajalt, millist vööndit ta eelistab, ja lõpetage sellega. Rakenduse riskisüsteemi jaoks käsitlege lahknevust ühe nõrga kontekstisignaalina koos tõenditega, mis sobivad tegeliku ohumudeliga, ja laske ebaõnnestunud otsingul anda teadmata tulemus, mitte vaikne tuvastus. Ainult võrdlusele tuginev blokeerimine muudab mõõtevahe kasutajale esitatud süüdistuseks.

Kui tagajärgedega otsus vajab tugevamat tagatist, kasutage selleks mõeldud kinnitus- või autentimissammu. Ajavööndi heuristika ei suuda seda tagatist pakkuda, ja detektor, mis loeb puuduvaid tõendeid eduks, võib tunduda tõhus, vastates samal ajal hoopis teisele küsimusele kui see, mille te esitasite.

Seotud artiklid