【学习记录】浏览器指纹相关学习记录(指纹介绍、获取指纹、修改指纹、随机指纹保护隐私等)

用途

不需要用户登录,可以识别是同一个用户,用于反爬虫广告推送等一类的场景

指纹在线查询地址

http://www.fingerprintbrowser.com/

CreepJS

浏览器指纹在线检测网站:代理IP防关联伪装度查询工具

IP检测大师

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等-CSDN博客文章浏览阅读389次。【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691?spm=1001.2014.3001.5501【自动化】Python SeleniumUtil 油猴 工具 自动安装用户脚本-CSDN博客文章浏览阅读311次。【自动化】Python SeleniumUtil 工具-CSDN博客。【自动化】Python SeleniumUtil 油猴 工具。【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565736

【Python】使用Selenium 操作浏览器 自动化测试 记录-CSDN博客文章浏览阅读193次。文章浏览阅读42次。【附件】Selenium chromedriver 驱动及浏览器下载。【附件】Selenium chromedriver 驱动及浏览器下载-CSDN博客。3.安装Chrome浏览器驱动。2.安装 selenium。1.安装python。https://blog.csdn.net/G971005287W/article/details/144557463

相关指纹信息

user-agent[http header]:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
accept-language:zh-CN,zh;q=0.9
IP:223.70.214.162
user-agent[navigator]:
platform:
vendor:
appName:
product:
appVersion:
cookieEnabled:
language:
mimeTypes:
CPU核心数:
local time:Tue Dec 17 2024 10:33:49 GMT+0800 (中国标准时间)
分辨率:1920X1080
colorDepth:24
pixelRatio:1
maxTouchPoints:256
触屏支持:不支持
电量信息:不支持
webgl vendor:Google Inc. (NVIDIA)
webgl renderer:ANGLE (NVIDIA, NVIDIA GeForce GT 880 (0x00001287) Direct3D11 vs_5_0 ps_5_0, D3D11)
webgl图像指纹:7c22d54fb53acd78578578cdc81b66f3
canvas画布指纹:f032e156fea817785787883d036c225e
音频指纹:ba6689f9a19789788778781fc682c8c1
canvas字体指纹:3e9f78a1dca6786963548578687cb9ba87
css字体指纹:559cd7041a178678785784c9a306986

浏览器指纹获取方法

        js库 Fingerprint2.js

                 是一个开源的设备指纹库

https://github.com/fingerprintjs/fingerprintjs

<script>// Initialize the agent at application startup.const fpPromise = import('https://openfpcdn.io/fingerprintjs/v4').then(FingerprintJS => FingerprintJS.load())// Get the visitor identifier when you need it.fpPromise.then(fp => fp.get()).then(result => {// This is the visitor identifier:const visitorId = result.visitorIdconsole.log(visitorId)}).catch(error => console.error(error))
</script>

https://github.com/niespodd/browser-fingerprinting

        音频指纹

                js获取音频指纹:

let AudioContext = window.OfflineAudioContext || window.webkitOfflineAudioContex
let context = new AudioContext(1, 5000, 44100)
let oscillator = context.createOscillator()
oscillator.type = "triangle"
oscillator.frequency.value = 1000
let compressor = context.createDynamicsCompressor()
compressor.threshold.value = -50
compressor.knee.value = 40
compressor.ratio.value = 12
compressor.reduction.value = 20
compressor.attack.value = 0
compressor.release.value = 0.2
oscillator.connect(compressor)
compressor.connect(context.destination);async function sha256(message) {// 把字符串转换为Uint8Arrayconst msgBuffer = new TextEncoder().encode(message);// 计算散列值const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);// 转换为数组const hashArray = Array.from(new Uint8Array(hashBuffer));// 转换为16进制字符串const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');return hashHex;
}oscillator.start()
context.oncomplete = event => {// We have only one channel, so we get it by indexlet samples = event.renderedBuffer.getChannelData(0)let samples_str = JSON.stringify(samples)sha256(samples_str).then(hash => console.log(hash));
};
context.startRendering()

相关屏蔽指纹检测方案

屏蔽所有指纹

uBlock Origin

Privacy BadgeruBlock Origin:这些隐私保护扩展也有一些功能,可以帮助降低指纹识别的风险,包括通过 Canvas 来生成指纹

Chrome浏览器插件

        随机Canvas画布指纹

                Canvas Blocker

Canvas Fingerprint Defender

一个防止 Canvas 指纹识别的扩展,它可以随机化 Canvas 渲染的输出,阻止通过 Canvas 获取设备指纹。

随机webgl图像指纹:

WebGL Fingerprint Defender

指纹测试页面

这些网站可能对测试指纹技术对抗网络抓取软件很有用

测试页面笔记
Bot / Headless Chrome Detection Tests非常有用和有用的测试集合
PicassAuth prototype帆布指纹在类固醇上
https://pixelscan.net/不是100%可靠,因为它经常显示“不一致”的Chrome在一个新的更新后,但值得检查,因为作者添加了新的有趣的检测功能,每隔一段时间
Browserleaks - Check your browser for privacy leaks不需要介绍😉
Fake Vision来自一些🇷🇺家伙的高质量测试页面
Check IP Address Reputation | IP Reputation Lookup History | IP Reputation API商业服务与流行的黑名单免费信誉检查
Check reCAPTCHA 3 score | AntiCaptcha plugin solver验证码得分以及一些关于如何优化验证码解决成本的有趣笔记
https://ja3er.com/SSL / TLS指纹
https://fingerprintjs.com/demo/适用于基本测试——来自那些相信并声称能在“99.5%”的情况下创造出独特指纹的人
Cover Your Tracks-
Device Info - Web browser security, privacy, and troubleshooting tool.-
Am I Unique ?-
http://uniquemachine.org/-
DNS Cookies - Identify Related Network Flows-
whatleaks.com-
Check reCAPTCHA 3 score | AntiCaptcha plugin solver检查您的验证码得分
https://antoinevastel.com/bots/-
antoinevastel.com-
Check browser fingerprints-
https://bot.sannysoft.com/-
https://webbrowsertools.com/canvas-fingerprint/-
https://webbrowsertools.com/webgl-fingerprint/-
https://fingerprint.com/products/bot-detection/-
CreepJS真的很恐怖,是最恐怖的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494095.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis数据转移

可能有时候因为硬件的原因我们我们需要更换服务器&#xff0c;如果更换服务器的话&#xff0c;那我们redis的数据该怎样转移呢&#xff0c;按照一下步骤即可完成redis数据的转移 1.进入redis客户端 2.使用 bgsave命令进行数据的备份&#xff0c;此命令完成后会在你的redis安装目…

【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作

&#x1f4af; 欢迎光临清流君的博客小天地&#xff0c;这里是我分享技术与心得的温馨角落 &#x1f4af; &#x1f525; 个人主页:【清流君】&#x1f525; &#x1f4da; 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 &#x1f4da; &#x1f31f;始终保持好奇心&…

腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大三学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

登山第十六梯:深度恢复——解决机器人近视问题

文章目录 一 摘要 二 资源 三 内容 一 摘要 深度感知是基于 3D 视觉的机器人技术的一个重要问题。然而&#xff0c;现实世界的主动立体或 ToF 深度相机经常会产生嘈杂且深度不完整&#xff0c;从而成为机器人性能的瓶颈。在这项工作中&#xff0c;提出了 一个基于学习的立体…

Leetcode中最常用的Java API——util包

前言&#xff1a;在刷力扣的时候是核心代码模式&#xff0c;笔试的时候很可能是ACM模式&#xff0c;需要自己完成导包、定义和自行设计输出&#xff0c;所以一些常用的类和方法需要先导入相应的API包&#xff0c;java.util就是最常用到的包&#xff0c;因为它包含集合这个大框架…

JVM对象分配内存如何保证线程安全?

大家好&#xff0c;我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全&#xff1f;】面试题。希望对大家有帮助&#xff1b; JVM对象分配内存如何保证线程安全&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中&#xff0c;对象的内存分配…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题&#xff0c;并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈&#xff0c;发现本示例有明显的性能问题&#xff0c;一是内存溢出问题&#xff0c;二是卡顿的问题&#xff0c;在这里感谢大家的提醒。 请大家动动小手&a…

AIGC-------AI生成内容如何赋能AR和VR体验?

AI生成内容如何赋能AR和VR体验 引言 增强现实&#xff08;AR&#xff09;和虚拟现实&#xff08;VR&#xff09;技术近年来蓬勃发展&#xff0c;为用户提供了沉浸式的体验。这些技术已经广泛应用于游戏、教育、医疗、建筑等领域。然而&#xff0c;AR和VR体验的质量与内容的丰富…

VLM--CLIP作分类任务的损失函数

info_nce_loss 这个是clip作对比学习的损失函数 各个博客上都有详细介绍了&#xff0c;我这里就不赘述 def info_nce_loss(image_features, text_features,logit_scale,labels, temperature0.07):batch_size image_features.shape[0]image_features image_features / image…

【模型压缩】原理及实例

在移动智能终端品类越发多样的时代&#xff0c;为了让模型可以顺利部署在算力和存储空间都受限的移动终端&#xff0c;对模型进行压缩尤为重要。模型压缩&#xff08;model compression&#xff09;可以降低神经网络参数量&#xff0c;减少延迟时间&#xff0c;从而实现提高神经…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环&#xff0c;但是前面有个if判断&#xff0c;能进入while循环的也不多&#xff0c;while循环就相当于两个for循环&#xff0c;但不是嵌套类型的&#xff1a; 变量作用域问题&#xff1a;

Burp与其他安全工具联动及代理设置教程

Burp Suite 是一款功能强大的 Web 安全测试工具&#xff0c;其流量拦截和调试功能可以与其他安全工具&#xff08;如 Xray、Yakit、Goby 等&#xff09;实现联动&#xff0c;从而提升渗透测试的效率。本文将详细讲解 Burp 与其他工具联动的原理以及代理设置的操作方法&#xff…

文件操作(File类)

目录 一、初识文件 二、File类 常用方法 一、初识文件 我们目前是如何存储数据的?弊端是什么? int a 1; int[] arr new int[5];我们这些数据是在内存中存储的&#xff0c;是不能够长久保存的。 那么&#xff0c;我们的计算机当中有没有一块硬件可以长久存储数据的? 磁…

Ubuntu硬盘分区及挂载(命令行)

文章目录 一、简介二、硬盘分区三、格式化分区四、自动挂载分区五、调整分区大小小结 一、简介 创建磁盘分区首先需要找出Linux系统中的物理磁盘&#xff0c;在Linux中采用了一种标准格式来为硬盘分配设备名称。 SATA驱动器和SCSI驱动器&#xff1a;设备命名格式为/dev/sdx&a…

用java造1万条数据

上个月项目有造数需求记录一下。 package com.company;public class CreateSqlZhou {public static void main(String[] args) {//insert into Student (id,name,sex,age,adress) values(68881624120312320,zhangsan,男,18,北京);String startSql "insert into Student…

vue iframe进行父子页面通信并切换URL

需求是2个项目需要使用同一个面包屑进行跳转&#xff0c;其中一个是iframe所在的项目&#xff0c;另一个需要通过地址访问。通过 window.parent.postMessage &#xff0c;帮助 <iframe> 内嵌入的子页面和其父页面之间进行跨域通信。 使用通义千问提问后得到一个很好的示…

【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget

目录 QLabel QFrame 例子&#xff1a; textFormat pixmap、scaledContents alignment wordWrap、indent、margin buddy QLCDNumber 例子&#xff1a; QTimer QProgressBar 例子&#xff1a; QCalendarWidget 例子&#xff1a; QLabel 标签控件&#xff0c;用来显示…

UVM 验证方法学之interface学习系列文章(十二)virtual interface 终结篇

一 双向和三态问题 任何具有多个驱动器的信号,都需要使用网(net)来建模。网是唯一能够同时解决不同状态和强度驱动同一信号效果的构造。net的行为由内置解析函数定义,该函数使用net上所有驱动器的值和强度。每当其中一个驱动器发生变化时,就会调用该函数来生成解析值。该…

【游戏设计原理】22 - 石头剪刀布

一、游戏基础&#xff1a;拳头、掌心、分指 首先&#xff0c;石头剪刀布&#xff08;又名“Roshambo”&#xff09;看似简单&#xff0c;实际上可是个“深藏玄机”的零和博弈&#xff08;听起来很高深&#xff0c;其实就是输赢相抵消的意思&#xff09;。游戏中有三种手势&…

iterm2 focus时灰色蒙层出现的解决办法

问题描述&#xff1a; 当前我的iterm2版本是3.5.10&#xff0c;是我最近才更新的&#xff0c;然后就出现以下页面显示问题&#xff0c;如图所示&#xff1a; 我个人对终端、编辑器等使用存在洁癖&#xff0c;尤其是页面显示效果不满意更是不能忍受&#xff0c;之前找了很久没有…