关于浏览器指纹

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jinsedeme0881/article/details/79064788

浏览器指纹是什么?是一个能够唯一标识当前浏览器的一串字符串。

github地址  https://github.com/Valve/fingerprintjs2

通过这个js可以获取到当前浏览器的指纹。

他具体是通过如下参数计算得到的

要素名中文解释
user_agent用户代理,包含浏览器版本号
language浏览器设置的当前语言
color_depth屏幕颜色深度
device_memory是否支持设备内存调试(估计是针对移动端测试)
pixel_ratio是否支持像素比例调整
hardware_concurrency是否支持硬件并发性
resolution屏幕分辨率
available_resolution可用的屏幕分辨率
timezone_offset格林威治时间和本地时间之间的时差,以分钟为单位
session_storage是否支持session_storage,这是html5的标准特性之一
local_storage是否支持local_storage,这是html5的标准特性之一
indexed_db是否支持浏览器端数据库,html5新特性之一
cpu_classnavigator.cpuClass cpu类型 unknown
navigator_platform所在操作系统平台,例如win32
do_not_track隐私设置相关属性,用户是否允许网站追踪自己的喜好
regular_plugins安装的插件信息(例如装了pdf插件)
canvas画布。用画布api画了一个长方形,然后转为base64字符串
webgl网页3D绘图协议。把对webgl的支持情况汇总起来的信息
webgl_vendorwebgl的提供商和显卡情况
adblockad block  是否支持广告阻止
has_lied_languages浏览器语言是否等于浏览器设置的第一语言
has_lied_resolution分辨率的比较 screen.width < screen.availWidth
screen.height < screen.availHeight
has_lied_os判断系统平台platform是否真实可靠(lied说谎)
has_lied_browser判断浏览器是否检测的真实可靠(lied说谎)
touch_support是否支持触控
js_fonts检测字体的支持情况
最终难以使用浏览器指纹作为客户端唯一标识的原因是: 浏览器经常 会自动升级,自动升级就会导致浏览器指纹发生变化。
因为我们使用白名单机制,这时候就需要更新白名单登记。

阅读更多
换一批

没有更多推荐了,返回首页