浏览器:浏览器指纹

这篇具有很好参考价值的文章主要介绍了浏览器:浏览器指纹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、引子

场景一、绑定用户与浏览器(设备),比如某一个网站的账号给到用户,用户只能在自己的电脑的某浏览器使用。

场景二、精准推送广告。

场景三、公司做营销活动,防止活动奖品被程序薅羊毛。

等等场景我们有什么技术方法实现或避免呢,本文介绍浏览器指纹来实现。

二、浏览器指纹简介:

2.1、简介

我们常说的指纹,指人们手指上的指纹,具有唯一性,可以标识一个人的唯一身份。
浏览器指纹是指仅通过浏览器的各种信息,包括CPU核心数、显卡信息、系统字体、屏幕分辨率、浏览器插件(Flash、Silverlight、Java等)、浏览器扩展、浏览器设置、时区偏移量(浏览器GMT偏移量)和许多其他信息的特征组合成的一个字符串,就能近乎绝对定位一个用户,就算使用浏览器的隐私窗口模式,也无法避免。

2.2、浏览器基本指纹

基本指纹是任何浏览器都具有的特征标识,比如硬件类型(Apple)、操作系统(Mac OS)、用户代理(User agent)、系统字体、语言、屏幕分辨率、浏览器插件 (Flash, Silverlight, Java, etc)、浏览器扩展、浏览器设置 (Do-Not-Track, etc)、时区差(Browser GMT Offset)等众多信息,这些指纹信息“类似”人类的身高、年龄等,有很大的冲突概率,只能作为辅助识别。

硬件指纹通过检测硬件模块来获取信息,这些模块补充了基于软件的指纹。硬件模块包括GPU、摄像头、扬声器/麦克风、运动传感器、GPS、电池、CPU、网络适配器、蓝牙和BOIS等。

2.3、浏览器行为指纹

这里拿电商网站举例,我们浏览任意商品,停留页面的时长,经常购买的品类,商品的尺码大小等等都可以被记录在本地的cookie里作为行为指纹,帮助广告商精准投放广告,也可以帮助电商网站训练推荐模型为你做到精准推荐。所以“大数据可能比你还要了解你自己”可不是说说而已。

2.4、浏览器高级指纹

基本指纹就像人的外貌、身高、体重、性别,很难从肉眼的角度去区分浏览器,那么高级指纹对于浏览器来说,就像DNA一般精准(不要害怕,也是有极限的)本文会介绍到目前广泛使用的三大高级指纹:canvas指纹/WebGL指纹/Audio音频指纹

三、浏览器指纹的发展:

浏览器指纹技术的发展跟大多数技术一样,并非一蹴而就的,现有的几代浏览器指纹技术是这样的。

第一代是状态化的,主要集中在用户的 cookie 和 evercookie 上,需要用户登录才可以得到有效的信息。

第二代才有了浏览器指纹的概念,通过不断增加浏览器的特征值从而让用户更具有区分度,例如 UA、浏览器插件信息等。

第三代是已经将目光放在人身上了,通过收集用户的行为、习惯来为用户建立特征值甚至模型,可以实现真正的追踪技术。但是目前实现比较复杂,依然在探索中。

目前浏览器指纹的追踪技术可以算是进入 2.5 代,这么说是因为跨浏览器识别指纹的问题仍没有解决。

四、浏览器指纹技术

4.1、Canvas画布指纹

许多网站和跟踪软件使用HTML画布指纹。因为每个浏览器都会生成不同的模式。基本上,每种浏览器都会使用不同的图像处理引擎,不同的导出选项,不同的压缩级别,这样每台电脑绘制的图片都会略有不同,这些图案可以用来为用户设备分配特定数量的指纹,也可以用来识别不同的用户。

function getCanvasFingerprint () {    
    var canvas = document.createElement('canvas');    
    var context = canvas.getContext("2d");    
    context.font = "18pt Arial";    
    context.textBaseline = "top";    
    context.fillText("Hello, user.", 2, 2);    
    return canvas.toDataURL("image/jpeg");
}
getCanvasFingerprint()

chrome浏览器

js获取浏览器指纹,前端,前端,浏览器,浏览器指纹

联想浏览器

js获取浏览器指纹,前端,前端,浏览器,浏览器指纹

经过对比确实不一样。

4.2、混淆 Canvas 指纹

详解浏览器指纹 - 简书

4.3、混淆其他指纹

与前面混淆canvas指纹混淆的思路是一致的,都是更改被获取对象的原型的方法。

比如混淆时区,就是更改 Date.prototype.getTimezoneOffset 的返回值。

混淆分辨率则是更改documentElement.clientHeight documentElement.clientWidth

混淆 WebGL 则要更改 WebGLbufferData getParameter方法等等。

4.4、AudioContext 音频上下文指纹

如果画布指纹是模式指纹,音频上下文就是声音指纹。

音频API使开发人员能够直接在代码中操作原始音频流数据,生成、操作和以任何他们想要的方式重现这些数据,例如改善音调、改变音调和分割音频。

AudioContext生成音频流(三角波),对其执行FFT变换,计算SHA值作为指纹,并在音频输出到音频设备之前清除音频,而用户不会注意到。

主机或浏览器的硬件或软件的细微差异会导致音频信号处理的差异。同一设备上的同一浏览器产生相同的音频输出,而不同机器或浏览器生成的音频输出可能有所不同。这样就可以作为浏览器指纹的跟踪技术。

javascript - 你的浏览器,独一无二 --解读浏览器指纹 - 烧鱼的前端小记 - SegmentFault 思否

方法5、WebGL 指纹

详解浏览器指纹 - 简书

4.6、综合指纹

生活场景中,同一批次同一型号的电脑,使用相同的浏览器就很有可能产生相同的“高级指纹”,存在一定的重复率,这个时候就需要结合上述的所有指纹,经过分析,计算最终的综合指纹作为判断。这样就可以大大降低碰撞率,极大提高客户端唯一性识别的准确性。

4.7、fingerprintjs2

前端使用fingerprintjs2获取浏览器指纹_Boale_H的博客-CSDN博客_fingerprintjs2

五、如何防止被生成指纹:

方法一、

详解浏览器指纹 - 简书

方法二、

我们也有一些简单的方法来防止被生成用户指纹。例如我们可以通过浏览器的扩展插件(Canvas Blocker、WebGL Fingerprint Defender、Fingerprint Spoofing等),在网页加载前执行一段 JS 代码,更改、重写 JS 的各个函数来阻止网站获取各种信息,或返回一个假的数据,以此来保护我们的隐私信息。

六、过程记录:

记录一、浏览器指纹弥补了通过浏览器不易获取ip的缺陷。

记录二、浏览器指纹作用

对于网站而言,拿到浏览器指纹并没有实际价值,真正有价值的是浏览器指纹对应的用户信息。作为网站站长,收集用户浏览器指纹并记录用户的操作,是一个有价值的行为,特别是针对没有用户身份的场景。

例如一个视频网站,未注册该网站的用户 A 喜欢浏览二次元的视频,通过浏览器指纹记录这个,那么下次可以直接向该浏览器推送二次元的视频。因为现在的上网设备大都是私人的,这样的推送方式很容易获得大部分用户的好感,从而使之成为网站的用户。

记录三、浏览器指纹保护您的权利

现在网络技术越来越发达,很多事情都可以在网络上完成。比如收付,现在你不需要开车去银行用手机或电脑访问你的账户。

然后小偷们改进了他们的方法,他们不是从购物街上的人群中偷银行卡,而是钻研计算机技术,试图在网上窃取你的存款。当他们访问你的帐户和密码时,他们将被阻止登录,这就是浏览器指纹技术发挥作用的地方。

小偷使用的电脑和你登录网银所用的电脑不一样,甚至连网络也不一样。当他从那台电脑登录时,浏览器指纹识别技术会识别出设备的指纹。网络随后意识到这是一个不熟悉的指纹,并谨慎地向您发送提醒,邀请您验证您的帐户。没有收到验证信息的窃贼是拿不到你的钱的。

记录四、浏览器指纹识别安全吗?

浏览器指纹识别是安全的,只要没有人恶意使用它,但现实是,除了好处,它确实给我们带来了一些问题。

在过去,你被窃取的隐私可能是一些具体的东西。说出你的名字,你的银行卡号。但是现在,你的浏览器指纹也是一个非常重要的数据。犯罪分子可以用它来诈骗你,有些企业想从你的行为中赚钱。您可能会产生以下效果:

1) 受到浏览器指纹的监控

获取浏览器指纹对网站没有实际价值,但真正有价值的是浏览器指纹对应的用户信息。作为网站管理员,在没有用户身份的情况下,收集用户的浏览器指纹并记录用户的行为是一项有价值的活动。

例如,如果你喜欢阅读动漫,浏览器指纹会记录下你的兴趣。下次访问此站点时,无需登录即可获取推送的动画信息。这是一种非常通用的分发内容的方法。此外,你的购物偏好也会受到浏览器指纹的监控。

其结果是浏览器指纹能准确地知道你喜欢什么。当别人用你的电脑访问互联网时,网络只识别机器,而不识别使用它的人,所以别人很容易就把你的一些偏好传递给你,并被推到你的一些偏好上。

2) 浏览器指纹识别追踪技术

浏览器指纹识别是商业平台上检查账户关联的重要工具。众所周知,一些电子商务平台非常重视市场秩序,你在打开产品页面时看到过很多产品都有相同的图片,这可能是恶意竞争,也许有人为了占领市场而开了很多商店购买同样的产品。

为了防止此类情况发生,电子商务平台使用浏览器指纹来确定哪些店铺属于同一商家。如果被发现,平台将进行处罚。

因此,最简单、可靠且安全的大批量打开浏览器的方法是运用虚拟浏览配置文件。通过AdsPower指纹浏览器,你只需要在一台电脑上创建多个相当于真实设备的浏览器配置文件。

它们互不干扰,确保指纹之间不会相互泄露。在网络平台看来,这些浏览器的指纹就是真实设备的浏览器指纹,所以不会怀疑你的身份。

AdsPower多开的浏览器设定了独立的指纹,包括时区、默认语言、User Agent、字体、分辨率等。您可以试用系统提供的指纹信息,也能自定义指纹信息。

AdsPower指纹浏览器+代理IP=同设备多账号隔离访问。让您可以在互联网上运营账号和店铺保持安全,而且你还能同时连接到多个社交媒体帐户,不被平台检测到关联,这也就不存在账号被封禁的危险。

记录四、

基本指纹就是容易被发现和修改的部分,如 http 的 header。

{  "headers": {    
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",     
    "Accept-Encoding": "gzip, deflate, br",     
    "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",     
    "Host": "httpbin.org",     
    "Sec-Fetch-Mode": "navigate",     
    "Sec-Fetch-Site": "none",     
    "Sec-Fetch-User": "?1",     
    "Upgrade-Insecure-Requests": "1",     
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"
  }}

除了 http 中拿到的指纹,还可以通过其他方式来获得浏览器的特征信息,例如:

每个浏览器的UA

浏览器发送的 HTTP ACCEPT 标头

浏览器中安装的浏览器扩展/插件,例如 Quicktime,Flash,Java 或 Acrobat,以及这些插件的版本

计算机上安装的字体。

浏览器是否执行 JavaScript 脚本

浏览器是否能种下各种 cookie 和 “super cookies”

是否浏览器设置为“Do Not Track”

系统平台(例如 Win32、Linux x86)

系统语言(例如 cn、en-US)

浏览器是否支持触摸屏

拿到这些值后可以进行一些运算,得到浏览器指纹具体的信息熵以及浏览器的 uuid。

这些信息就类似人类的体重、身高、肤色一样,有很大的重复概率,只能作为辅助识别,所以我们需要更精确的指纹来判断唯一性。

七、本文总结自网络,欢迎交流指正,关注我,一起学习。

八、参考链接:

前端使用fingerprintjs2获取浏览器指纹_Boale_H的博客-CSDN博客_fingerprintjs2

javascript - 你的浏览器,独一无二 --解读浏览器指纹 - 烧鱼的前端小记 - SegmentFault 思否

详解浏览器指纹 - 简书

什么是浏览器指纹?一文详解浏览器指纹追踪技术文章来源地址https://www.toymoban.com/news/detail-740163.html

到了这里,关于浏览器:浏览器指纹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 有趣且重要的JS知识合集(18)浏览器实现前端录音功能

    兼容多个浏览器下的前端录音功能,实现六大录音功能: 1、开始录音 2、暂停录音 3、继续录音 4、结束录音 5、播放录音 6、上传录音 初始状态: 开始录音: 结束录音: 录音流程 : 示例中的三个按钮其实包含了六个上述功能,点击开始时开始录音,可以暂停/结束录音,此

    2024年02月04日
    浏览(57)
  • 指纹浏览器可以帮社交媒体营销做什么?

    社交媒体营销是指利用各种社交媒体平台,在上面发布内容进行营销、销售、公共关系处理的行为,并与目标受众进行良好的互动。像Facebook、YouTube、Instagram、Twitter、Tiktok、Linkedin等都是常见的社交媒体营销平台。 与买家建立良好的关系 了解消费者的习惯和及时得到反馈 增

    2024年02月13日
    浏览(52)
  • selenium反爬-绕过浏览器指纹的常用方法

    代码如下: Undetected_chromedriver 是一个经过优化的 Selenium WebDriver ,可以避免触发反机器人程序。 如绕过 Cloudflare 、Akamai、知乎。它适用于 Google Chrome 、 Brave 和许多其他基于 Chromium 的浏览器。 代码如下: 还有一点要注意: 异常现象: 如果使用 pyinstaller 对 undetected-chromedriv

    2024年02月13日
    浏览(56)
  • 【前端八股文】浏览器系列:性能优化——HTML、CSS、JS、渲染优化

    本系列目录:【前端八股文】目录总结 是以《代码随想录》八股文为主的笔记。详情参考在文末。 代码随想录的博客_CSDN博客-leecode题解,ACM题目讲解,代码随想录领域博主 性能优化,从以下几个方面来进行。 避免HTML中直接写CSS viewport加速页面渲染 使用语义化标签 减少标签的

    2023年04月20日
    浏览(61)
  • 保障跨境电商安全的防关联指纹浏览器

    随着全球跨境电商市场的快速扩大,用户隐私和数据安全问题日益凸显。传统浏览器往往无法有效防范关联追踪,给用户带来了诸多困扰。然而,隐擎Fox浏览器的出现为解决这一问题提供了全新的解决方案。 一、隐擎Fox浏览器的定义和特点 隐擎Fox是一款专注于保护用户隐私

    2024年02月15日
    浏览(53)
  • Selenium绕过浏览器指纹的九种方法

    方法一、使用stealth.min.js 去 https://github.com/berstend/puppeteer-extra 下载 反正我是没成功,大家仅供参考 方法二、关闭一些特征 没成功,大家参考下 方法三、使用selenium-stealth 我也没成功,大家可以试试 方法四:方法1+2+3组合使用 试了,没用,大家可以自行测试下 方法五: 中间

    2024年02月02日
    浏览(45)
  • 前端js打开pdf文件--文件通过浏览器打开,以pdf形式进行预览

    通过点击button按钮,触发 @click=\\\"openPDF(performance_report)\\\"方法,把对应需要展示的pdf传送到openPDF()方法内,这里的pdf文件格式必须包括id、name、url。 在这里,performance_report为预览的文件:

    2024年02月14日
    浏览(55)
  • 探究Fingerprintjs:了解浏览器指纹技术的原理和应用

    Fingerprintjs是一种浏览器指纹技术,它可以通过收集用户浏览器的一些特征信息,如浏览器类型、操作系统、屏幕分辨率等,来生成一个唯一的浏览器标识。这种技术被广泛应用于网络安全、广告营销、反欺诈等领域。 浏览器指纹技术起源于2009年,当时,随着互联网的发展,

    2024年02月10日
    浏览(45)
  • Selenium 隐藏浏览器指纹特征的几种方式

    我们使用 Selenium 对网页进行爬虫时,如果不做任何处理直接进行爬取,会导致很多特征是暴露的 对一些做了反爬的网站,做了特征检测,用来阻止一些恶意爬虫 本篇文章将介绍几种常用的隐藏浏览器指纹特征的方式 目标对象: aHR0cHM6Ly9xaWthbi5jcXZpcC5jb20vUWlrYW4vU2VhcmNoL0FkdmFuY2

    2024年02月08日
    浏览(68)
  • 前端高频面试题 js中堆和栈的区别和浏览器的垃圾回收机制

    栈(stack) :是栈内存的简称,栈是自动分配相对固定大小的内存空间,并由系统自动释放,栈数据结构遵循FILO(first in last out)先进后出的原则,较为经典的就是乒乓球盒结构,先放进去的乒乓球只能最后取出来。 堆(heap) :是堆内存的简称,堆是动态分配内存,内存大小不固

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包