Браузърът съобщава Europe/London, а IP база поставя заявката в America/New_York. Това е разминаване между две наблюдения и си заслужава да бъде записано. То не е доказателство, че посетителят използва VPN, и точно отношението към него като към доказателство е мястото, където повечето реализации грешат. Сравнението по-долу държи двете стойности и техните режими на отказ отделно.

Две наблюдения с различни собственици

Стойността от браузъра е настройка: зоната, която операционната система или потребителят е избрал за форматиране на дати. Стойността от базата е оценка, прикачена към IP мрежа, изготвена от доставчик, който съпоставя блокове от адреси с места. Нито едното не е удостоверено твърдение къде се намира посетителят, и нито едното не знае по кой мрежов път е минала заявката.

Тъй като собствениците са различни, двете стойности могат да се разминат по причини, които нямат нищо общо с инструменти за поверителност. Пътуващ, който запазва домашната зона, служебен лаптоп, закован към времето на централата, сателитна връзка с регионален изход или остарял ред в базата — всички те дават несъответствие.

Как всъщност се получава всяка стойност

Браузърът може да прочете своята изчислена зона с new Intl.DateTimeFormat().resolvedOptions().timeZone, което връща идентификатор по IANA, изведен от настройките на форматиращия обект. То не иска разрешение за местоположение и не се обръща към GPS. На сървъра определете адреса на клиента от доверената си конфигурация на прокси и след това го потърсете при одобрен доставчик. Заглавка за препращане, подадена от посетителя, не е автоматично този адрес.

Съхранявайте двете наблюдения в отделни полета заедно с времето на наблюдението и резултата от търсенето. Наименуването на производното поле vpnDetected, когато изчислението е само сравнение на зони, вгражда заключение в измерване и прави последващия преглед по-труден.

Какво доказват съвпадението и несъответствието

НаблюдениеКакво остава неразрешено
Различни съобщени зониПътуване, запазена настройка, корпоративен шлюз, прокси или грешка в базата могат да го предизвикат.
Една и съща съобщена зонаVPN изходът може да е в зоната на потребителя, така че съвпадението не доказва пряка връзка.
Една стойност липсва или е невалиднаСравнението не е налично, което не е нито съвпадение, нито несъответствие.

Асиметрията е по-важна, отколкото таблицата подсказва. Несъответствието има много невинни обяснения, а съвпадението има поне едно виновно, така че нито една посока не подкрепя категорично правило. Собствените бележки за точност на доставчика описват ограничена точност и липсващи данни и посочват, че услуга за анонимизиране може да покаже местоположението на своя сървър, а не на потребителя.

Затова сигналът принадлежи в рискова оценка със записана причина и явно неизвестно състояние, а не в булева стойност, която управлява достъпа.

UTC отместванията не са пряк път

Сравняването на отмествания вместо идентификатори на зони не поправя извода. Две различни зони може да споделят отместване за част от годината, а една и съща зона може да смени отместването на границата на лятното време. Ако функция наистина се нуждае от отместване за планиране, изчислете го за конкретния момент, вместо да запазите едно число и да го използвате повторно като доказателство за идентичност.

Сравняването на низове има свой капан: два начина на изписване на една зона или стар псевдоним ще се различават като текст, докато описват същата настройка. Проверявайте идентификаторите и сравнявайте чрез обработката на часови зони на платформата, вместо да съпоставяте сурови низове.

Блокиране или оценка: изберете реакцията съзнателно

За показване на време попитайте посетителя коя зона предпочита и спрете дотам. За рискова система на приложение третирайте несъответствието като един слаб контекстуален сигнал редом с доказателства, които отговарят на действителния модел на заплаха, и оставете неуспешното търсене да даде неизвестност, а не тихо откриване. Блокирането само по сравнението превръща пропуск в измерването в обвинение срещу потребителя.

Ако решение с последствия се нуждае от по-силна гаранция, използвайте стъпка за проверка или удостоверяване, предназначена за това. Евристиката за часова зона не може да даде такава гаранция, а детектор, който брои липсващите доказателства за успех, може да изглежда ефективен, докато отговаря на различен въпрос от този, който сте задали.

Подобни статии