首先我们来复习一下浏览器指纹的相关知识。
网站通过一定的技术手段获取了用户端关于设备、网络、浏览习惯、常用网页等数据信息以后,将这些信息进行综合分析、计算,从而对客户端进行唯一性识别、追踪、分析用户行为和隐私数据,进而实现精准投放广告,反薅羊毛等功效。
前面的文章我们详解了Cookies、User agent指纹的相关知识,需要复习的同学点这里:
跨境电商防关联,从超级浏览器的Cookies开始
超级浏览器:创建多套UA指纹防止账号关联
今天我们主要科普Canvas指纹的相关知识。
- Canvas是什么
Canvas API(画布)是在HTML5中新增的标签,用于在网页实时生成图像,它是一个可以用JavaScript操作的位图(bitmap),适用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。
举个例子,当我们需要绘制一个三角形时,我们在JS里做如下操作:
function draw() {
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(75, 50);
ctx.lineTo(100, 75);
ctx.lineTo(100, 25);
ctx.fill();
}
}
最后,我们将会得到如图所示的执行结果:
因此,简单来理解就是,Canvas API负责在页面中设定一个区域,然后就可以通过 javascript动态在这个区域中绘制图形。
- Canvas能做什么?
Canvas拥有强大的绘图能力,如果你掌握了完整的命令,你可以用Canvas创建丰富的web应用程序,让网页显示的内容更加丰富多彩,给用户带来更好的视觉和交互上的体验,Canvas的功能包括以下几项:
- 基础图形的绘制
- 文字的绘制
- 图形的变形和图片的合成
- 图片和视频的处理
- 动画的实现
- 小游戏的制作
总结一下:Canvas是HTML5中的新元素,如果你想很好地使用canvas,你首先应该掌握javascript,这样就可以使用javascript来绘制图形、图标以及其它任何视觉性图像。
- 什么是Canvas指纹
虽然Canvas具有强大的绘图能力,但是它画出来的图案具有强烈的“个体属性”。也就是说,相同的HTML5 Canvas元素在不同的操作系统、不同浏览器上,产生的图片内容,基本上都是有差别的。
具体有什么差别呢?我们用可以用这个在线工具来测试一下,对比同一台设备上两组Canvas指纹的区别:
首先,从图片格式上看,不同浏览器使用了不同的图形处理引擎、不同的图片导出选项、不同的默认压缩级别······所以图片会有差别。
其次,从像素级别上看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。即使相同的绘图操作,产生的图片数据的CRC检验也不相同。
虽然有时候这种差别可能是肉眼无法察觉出来的,但是计算机可以轻易识别出它们的不同。这些难以识别但又自带自身特点的差别就形成了一种识别标志——Canvas指纹。
- Canvas指纹有什么用处
说完了Canvas指纹的来历,接下来聊聊Canvas指纹具体有什么用处。
很多网站或者广告商都想要一种技术可以在网络上精确地定位到每一个用户,这样就可以通过收集这些用户的数据,然后加以分析之后更加精确地推送广告和进行其他的一些活动。
本来Cookies指纹是一种比较好用和精准的数据信息,但随着网民对个人隐私的重视,Cookies越来越不受待见,有些浏览器还推出了限制Cookies的功能,例如下图这个“隐身窗口”功能:
使用了“新建隐身窗口”模式,电脑小白也能快速清除Cookies缓存,这样一来,网站无法在两次访问区间识别你是否为同一个用户,网站就很难追踪用户行为了。
在这个背景下,Canvas指纹就被推上了重要的应用位置。
Canvas指纹是官方或系统可以用于追踪用户数据比较精确的方法。因为Canvas指纹可以识别关键的数据,如新用户、二次访问者等,帮助网站记录和识别用户的浏览、购物等行为,从而帮助网站为网络用户提供更好的用户体验。但是一些用户觉得自己受到太多广告信息的干扰。还有一些网站可能会采用Canvas指纹对账号进行检测,例如账号关联检测等。这项检测对于需要多账号运营的跨境电商卖家来说,可能不是那么友好。
- 如何避开Canvas指纹检测
如前文所提到,Canvas指纹技术的特殊之处在于,因为它主要依赖网站的组成部分—HTML5存在,所以要绕开Canvas指纹并不容易,因此有不少电商平台会选用Canvas指纹来做账号关联检查。但是对于跨境卖家来说,在一个平台上同时登录多个账号又是运营刚需。这时候,使用飞跨浏览器会是一个简便快捷又低成本的方法。
我们可以通过同一台设备使用飞跨浏览器前后的指纹变化来验证飞跨浏览器对于避开Canvas指纹检测的作用。下图是本机原始的Canvas指纹信息:
接下来,我们来看看使用飞跨浏览器以后,Canvas指纹信息会发生什么变化。
①在飞跨浏览器打开任意一个店铺:
②在当前环境下测试指纹信息:
③飞跨浏览器指纹环境下的Canvas信息:
为了让大家看清楚两套指纹的差别,我们单独将Canvas指纹信息放大进行对比:
如图所示,红色框里的数字有明显变化,而且使用飞跨浏览器以后,指纹栏里面新增了“sRGB”指纹元素,扩大了账号之间Canvas指纹的区别。
综上所述,飞跨浏览器的避免Canvas指纹识别在技术原理在于,它能为每个浏览器窗口环境单独分配指纹数据,也是往画布里面注入一个随机的系统生成的Canvas指纹元素,一个浏览器环境对应一个系统生成的Canvas指纹,这样就避免了因为Canvas指纹重复导致的账号关联。
标签:Canvas,浏览器,账号,用户,指纹,飞跨,电商 From: https://blog.51cto.com/u_15913322/6033771