这个检测看哪些地方?
网站读的属性(UA、平台、语言、屏幕)是不是被重新定义过,指纹用到的画图和音频函数有没有被替换,JS 引擎和 UA 对不对得上,请求头里的语言和 JS 里的是否一致,Date 和 Intl 给出的时区是否相同。页面上其他检测项也都计入评分。
做风控的网站不只看 IP,还会核对浏览器说的每件事能不能对上:UA 说是 Safari,引擎却是 Chromium 的;语言只在 JS 里改了;两个接口给出的时区不一样……每一处都是破绽。下面是这个浏览器的说法,以及它自相矛盾的地方。
53 个嗅探器 · 不弹任何授权
你多半是人。你平时说,电脑的时区是,钟用。
你手上这台是,开的是,屏幕,显卡是,。
你习惯用,。。装的字体透露出:。至于年龄,。
Referer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatnavigator.keyboardspeechSynthesisprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsdisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.querypdfViewerEnablednavigator.webdriverbait elementwindow.ethereum · DOM markshistory.lengthcanvas measureTextuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightWebGL RENDERERnavigator.gpu adapter.infoWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemorymaxTouchPoints · pointernavigator.getBatterynavigator.connectionWebRTC host candidateenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedrequestMediaKeySystemAccessstorage.estimateError.messagecanvas.toDataURLWebGL getParameterOfflineAudioContextfonts → SHA-256SHA-256canvas × 2网站读的属性(UA、平台、语言、屏幕)是不是被重新定义过,指纹用到的画图和音频函数有没有被替换,JS 引擎和 UA 对不对得上,请求头里的语言和 JS 里的是否一致,Date 和 Intl 给出的时区是否相同。页面上其他检测项也都计入评分。
它们只改了 JS 读到的那一份,浏览器发出的请求头、底层引擎、被它们包起来的函数都还是原样。每一处对不上,网站都能比出来。想伪装成在别处,要在系统层面改:系统语言和时区。
不会。检测都在你的浏览器里进行;服务器只回答它从这次请求里本来就能看到的东西,什么都不存。