如何避免 Canvas 指纹识别

Canvas指纹是HTML5中的一种技术,用于在浏览器中识别用户。文章介绍了Canvas指纹的生成原理,以及网站如何利用它来跟踪用户。为了避免被追踪,用户可以禁用硬件加速,使用特定的浏览器插件或指纹浏览器。禁用硬件加速会导致Canvas指纹变化,而指纹浏览器则能伪装不同的Canvas指纹。
摘要由CSDN通过智能技术生成

什么是 Canvas

Canvas(画布)是在HTML5中新增的标签,配合对应的API使用,可以在网页实时生成图像,并操作图像内容。

Canvas 能做什么?

  • 基础图形绘制(如画点、线、椭圆等)和文字的绘制

  • 图形的变形与合成(如缩放、旋转、叠加等)

  • 图片和视频的处理

  • 动画的实现

  • 小游戏的制作

随着互联网的发展,用户对页面的视觉和交互有着更高的要求,传统的 web 前端开发无法得到满足,所以利用强大的 Canvas 绘图能力,可以是网页显示的内容更加的丰富多彩,Canvas 在给用户带来更好的视觉和交互上的体验。

下面是一个示例:

<script type="text/javascript">
  // 获取 canvas 元素对应的 DOM 对象
  var canvas_xy = document.getElementById("canvas_xy");
  // 获取在 canvas 上绘图的 canvasRenderingContent2D 对象
  var ctx = canvas_xy.getContext("2d");
  //设置绘制起点
  ctx.moveTo(100, 100);
  //设置绘制下一个点
  ctx.lineTo(200, 200);
  //设置绘制下一个点
  ctx.lineTo(400, 100);
  //结束绘制
  ctx.closePath();
  //设置线的宽度
  ctx.lineWidth = 10;
  /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
保护您的隐私。防止网页跟踪您的浏览器的HTML画布指纹。 重要信息:如果扩展名在特定站点上不起作用,请在“支持”部分中发布详细信息,因为这将帮助我对其进行修复。抱怨说如果不发布细节是行不通的,这毫无意义。谢谢你。发布1.5版(2016年3月6日)•更新了脚本注入技术,以便它也可以在具有严格CSP的页面上使用。版本1.4(2016年3月5日)•扩展程序(不必要)试图从外部窗口内部对跨源框架(例如,GMail中的环聊框架,多个站点中的Disqus框架等)中的功能进行修补。这破坏了站点的功能。现在避免了。版本1.3(2016年2月28日)•阻止的iframe [@sandbox]画布读取现在可以在弹出窗口中正确显示•每个阻止的更多详细信息版本1.2(2016年2月27日)•现在还阻止了来自沙盒内画布的读取尝试iframe元素的详细信息画布指纹识别是网站采用的最新技术之一,可在不使用cookie的情况下跟踪访问者。这样的网站通过在隐藏HTML上绘制图像来实现此目的<canvas>元素,然后对其进行快照,然后将快照发布回自己。由于绘制的画布中的确切像素值在一组硬件之间可能会有所不同,因此这些网站可以利用这些差异来区分访问者,并从一次访问中识别出特定的访问者。跟踪cookie通常用于什么,除了可以通过隐身模式浏览禁用,删除或避免cookie之外,而为避免Canvas指纹识别,您需要使用CanvasFingerprintBlock之类的工具。HTML<canvas>元素公开了两种JavaScript函数:用于绘制到画布的函数和用于从画布导出数据的函数(对于书呆子,它们是toDataURL()和getImageData())。画布绘图功能不受CanvasFingerprintBlock的影响,因此使用画布进行基本绘图的网站将不会受到影响。另一方面,当网站尝试从画布导出数据时,CanvasFingerprintBlock将通过显示空白画布而不是包含实际像素的画布来“欺骗”网站。如果网站正在读取画布数据以生成指纹,则生成的指纹将无用,因为CanvasFingerprintBlock使每个人的指纹看起来都一样。如果在书签☆图标旁边的地址栏中出现一个红色的小指纹图标,则表明您正在访问的网站已尝试访问至少一个画布的数据,并且CanvasFingerprintBlock已将其阻止。您会惊讶地发现有多少网站采用了Canvas指纹识别技术!多数网站在创建指纹方面都颇为偷偷摸摸。画布始终处于隐藏状态,通常在网站完成加载之前就已经创建,读取和删除了画布!当然,您会好奇地检查一下在鼻子下面绘制的内容,并且CanvasFingerprintBlock将使您通过单击红色的小指纹图标来查看它。最后,值得一提的是,并非所有试图从画布导出数据的网站都在恶意地这样做。例如,某些照片上传者将允许您在画布上编辑照片,当您准备就绪时,将导出编辑的照片并将其上传到服务器。或其他一些网站将使用“粗糙”画布来绘制渐变或图案,然后将其导出以在页面上其他位置使用该图案。当您看到红色的小指纹图标时,通过单击它通常可以很容易地分辨出是否为指纹目的绘制了被阻塞的画布。但是,要自动检测到它并不是那么简单。因此,暂时,CanvasFingerprintBlock将阻止所有画布数据导出,并且允许画布读取的唯一方法是暂时禁用扩展。以后的CanvasFingerprintBlock更新中将修复此问题。您可以在以下网站上测试CanvasFingerprintBlock:http://www.browserleaks.com/canvas注意:如果您使用的是Chrome的隐身模式,则为了得到充分保护,建议同时在隐身模式下启用CanvasFingerprintBlock扩展(请选中“允许在隐身”)。</canvas></canvas> 支持语言:English (United States)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值