无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

2021-10-01 09:49:32 56点热度

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

无痕浏览仅仅是在浏览环节中没有在你机子上留下缓存和记录而已,监控是实时监监控你的连网状况而非是读取机子数据来监控的。

无痕浏览(隐私浏览模式、隐身窗口、InPrevate),指的是不留下上网浏览记录的互联网浏览方式。可是,用户下载的文件和建立的收藏夹或书签会保存下来。

支持该模式的浏览器包含但不限于百度浏览器,Firefox火狐,搜狗浏览器,360安全性浏览器,Avant browser ,全球之窗浏览器,Google Chrome,Internet Explorer 8及更新版本,Edge,Safari。

本文从科普和技术视角对浏览器隐身模式进行介绍,全文脉络如下,读者可依据兴致挑选对应章节阅读。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

脑图

了解隐私模式

隐私模式隐藏了什么

现代互联网浏览器,通常都增加了 隐私浏览模式 来浏览网页,旨在维护用户隐私。Chrome 称之为隐身模式;Opera、Safari 和 Firefox 中通常称之为隐私浏览。这类模式以 深色主题和蒙面人物图标 为特征,可以给用户一种 匿名浏览的印象 。芝加哥大学和汉诺威莱布尼茨大学的研究人员发觉, 咱们对隐私浏览或隐身模式存有不少误解 ,很多用户觉得隐私浏览可以维护他们免受恶意软件、广告、跟踪脚本和互联网服务提供商 (ISP) 的监控。

实际上, 隐私浏览旨在制止在计算机上保留浏览会话的痕迹 。这样的话,当你打开隐私窗口时,主浏览窗口中的 cookie、浏览历史不会被保留。当你关闭隐私浏览窗口时,你的浏览历史记录、保存的密码以及你在该窗口的文本字段中键入的内容(用户名、电话号码等)都将被擦除。 这意味着使用你的计算机并启动浏览器的下1个人将无法找出你在私人浏览会话期内访问了哪些网站 ,就算是是你自身,当下次使用这类网站未登录帐户时,你也将以新用户的身份出现。

隐私浏览是一种十分有用且方便的工具,可用于快速浏览会话,不会在你的计算机上留下痕迹。 它将维护你的隐私免受使用你计算机的别人的侵害,并降低你在访问网站时透露的某些相关你自身的信息 。可是 隐私浏览不会使你匿名,也不会维护你免受监视和大型技术窥探 。

说到泄露隐私,不少人觉得只要是自身不登录、不使用 cookie,使用浏览器的无痕模式,自身的数据信息便是安全性的、自身浏览了什么就唯有自身了解了,那麼,大家不妨直接看看浏览器官方自身的概念吧。

无痕模式(Incognito mode)是 Chrome 浏览器的一种安装,在 Chrome 浏览器里,它是这样形容的:

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

incognito_mode

简单而言,Chrome 无痕模式仅仅是帮你删除开你存有本地的查找和浏览记录,仅仅是看起来“无痕”而已。要在 Chrome 中以隐身模式打开页面,请单击右上角的三点图标,从出现的下拉菜单中挑选打开新的无痕窗口,或按 Ctrl+Shift+N。一个带有深色主题的新窗口弹出,并展示一条通知:“您已进到无痕模式”, 细则解释了隐身模式的优缺点。默认状况下,第三方 cookie(用于跨不一样站点跟踪你)被禁用。

至于如何开启隐身模式,坚信通常人都是了解的,要是不清楚,或是不清楚某一款特定的浏览器如何开启隐身模式,可以参考接下来这种链接。

How do I set my browser to Incognito or private mode? [1]

在实践中,即使在隐私模式下,网站仍然可以通过 关联其他信息 来发觉你的身份,例如你的 IP 地址、设备种类和浏览习惯(每天中的時间、访问的页面等), 隐私浏览不会隐藏一切数据 。Facebook 和 Google 等大型高新科技公司具有很多有关用户的信息,通过连接这类点,即使你尚未登录帐户,它们还可以识别你的身份。

浏览器隐身模式真的可以隐身吗?

通过前面的介绍,想必你的答案是确认的:不可以。

大家可以通过一个展示隐私浏览跟踪的示例网站 —— Nothing Private [2] 来证实这种点。这种网站的测试方式是使你先提交一个你的标识信息,以后使你使用浏览器的无痕模式访问网站,猜猜网站会不会认出你。

这儿,我先填入了“獨釣寒江雪”,很显著的,当我提交信息时,浏览器除开发送了我填写的“獨釣寒江雪”,还有一个 finger 字段。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

nothingprivate1

当我使用无痕模式再次打开这种网站时,浏览器又携带了相同的 finger 字段去服务器查询有关信息,因此, 我被识别出来了 。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

nothingprivate2

综上: 浏览器无痕模式而非能维护你的数据信息不被网站的服务器所获得。精确地说,无痕模式便是掩耳盗铃而已 。有兴致的话,您不妨亲自去 Nothing Private [3] 体验一下,有关它的原理,后续章节会继续介绍。

隐私模式不可以干什么

它不会维护你免受病毒或恶意软件的侵害;

它不会使你的 Internet 服务提供商 (ISP) 无法看见你上网的位置(事实上,无论你做什么,你的 ISP 基本上都能够访问你的所有浏览活动);

它不会阻止网站查看你的具体位置;

当你关闭网页时,你在隐私浏览或隐身模式下保存的一切书签都不怎么会消失,它会被添加到你的没问题浏览网页的书签中;

关闭窗口时不会删除你在私密浏览时下载到计算机的文件。

隐私模式使用现状

2017 年, DuckDuckGo [4] 对 5,710 名美国人进行了浏览器隐私模式调查,以掌握咱们对隐私模式的了解以及他们如何使用这种常见的隐私作用,完整报告可参考: A Study on Private Browsing: Consumer Usage, Knowledge, and Thoughts [5] 。

简单总结如下:

46% 的美国人使用过隐私浏览;private-browsing1

咱们使用隐私浏览的首先个原因是“令人尴尬的查找”;private-browsing2

76% 使用隐私浏览的美国人无法精确识别其提供的隐私优势;private-browsing3

65% 的受访者表示,在掌握隐私浏览的局限性后(隐私浏览模式只会阻止你的浏览器历史记录被记录在你的计算机上,而非会提供一切额外的维护),他们感到“惊讶”、“误导”、“困惑”或“受到损害”;private-browsing4

84% 的美国人会考虑到尝试使用除此之外关键的互联网浏览器,要是它能提供更多作用来作用维护他们的隐私的话。private-browsing5

参考资料: Is Private Browsing Really Private? [6]

从技术视角看隐身模式

用户访问网站的环节

通常状况下,用户访问网站的环节如下图所示:

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

browsing_process1

当一名用户浏览网页时,通常会进行以下实际操作:

打开浏览器,输入网址。这过程中浏览器就会默默将此环节保留在历史记录中;

连接请求通过用户家中的网线,层层递进,到达互联网经销商的主干互联网,再接着连接到用户请求的网站地址,这种过程中就网站就能拿到用户的 IP 地址了;

网站返回数据给用户,网页绝大多数的内容做为临时文件被暂存有用户电脑上中;

用户要是进行注册/登录,则会将用户信息保存/更新在服务器端。将 Cookie 保留在本地做为验证用户的一种方式,制止用户多次反复的登录。自然进行注册时填写的手机号、邮箱、家庭住址也会被浏览器记录,方便用户下次调用。

可以看见整个环节通常来讲有 3 种数据是保存有用户的电脑上上的,那便是浏览记录、临时文件与 Cookie 和表单填写的内容。而有 1 或 2 中的数据被保留在了网站那边,便是 IP 地址和用户填写的注册信息。

如今十分多的公司和学校建立了专有的互联网自然环境,对外只展示 1 个 IP,数据返回的过程中再发送到相关的的内网 IP 上。雇主和学校有心想看的话或是可以了解内网的某个人浏览了什么。针对 HTTP 网站链接,雇主和学校可以完整地掌握用户浏览了哪些网站,用户看了哪些内容,停留了多久,针对哪些网站进行了点击跳转等等这些; 针对 HTTPS 网站链接,由于证书的存有和相关的的验证机制,通常来讲 HTTPS 解密(中间人攻击)难以发动,因此只有够掌握到用户浏览了哪些网站而已 。与此同时不恰当的互联网自然环境也会将自身的浏览记录暴露在他人的视野中,例如免费公用的 Wi-Fi。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

browsing_process2

浏览器隐身模式检测的博弈

在 Chrome 76 以前,存有一个漏洞,很多网站利用该漏洞来检测用户是不是在 Chrome 的隐身模式下访问网站。这类网站只有必要 尝试使用 FileSystem API 用于存储临时或永久文件的 。此 API 在隐身模式下被禁用,但在非隐身模式下存有,这样的话产生了有所不同,该有所不同被利用来检测用户是不是正在使用隐身模式浏览网站并阻止这类用户查看网站的内容。

const fs = window.RequestFileSystem || window.webkitRequestFileSystem;

if (!fs) {

console.log('check failed?');

} else {

fs(

window.TEMPORARY,

100,

console.log.bind(console, 'not in incognito mode'),

console.log.bind(console, 'incognito mode')

);

}

复制代码

后来谷歌修复了一个漏洞,不幸的是,他们的修复造成了此外两类办法,仍然可以用来检测访问者何时进行私密浏览。

基于文件系统大小检测隐身模式:该办法基于为浏览器使用的内部文件系统预留的存储量。安全性研究人员 Vikas Mishra 发觉 [7] ,Chrome 隐身模式和非隐身模式之间存储配额存有差别,要是临时存储配额<= 120MB,那麼可以肯定地说它是一个隐身窗口。这种办法关键通过 navigator.storage.estimate API 来进行获得和分辨。

if ('storage' in navigator && 'estimate' in navigator.storage) {

const { usage, quota } = await navigator.storage.estimate();

console.log(`Using ${usage} out of ${quota} bytes.`);

if (quota < 120000000) {

console.log('Incognito');

} else {

console.log('Not Incognito');

}

} else {

console.log('Can not detect');

}

复制代码

通过访问時间检测隐身模式:在读取和写入数据时,内存文件系统经常比磁盘文件系统快。 在隐身模式下,Chrome 会将写入 API 的数据存储在内存中,而并不是像在没问题模式下那样将数据持久化到磁盘 。这类新的检测办法是由研究员 Jesse Li [8] 发觉的,它测量对浏览器文件系统的一系列产品写入。依据这类写入的速度,网站理论上可以确认浏览器是不是使用隐身模式。避免出现这类检测办法的唯一办法是让隐身模式和普通模式使用相同的存储介质,以便于 API 无论如何都以相同的速度运作。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

timings

Chrome 开发人员看见了这两点: 在 2018 年 3 月的设计文档中,他们确认了基于時间和文件系统大小检测隐私模式的风险,并进行了替代实现 :只将元数据保存有内存中,并加密磁盘上的文件。这将解决网站使用時间来区分内存和磁盘存储的风险,并清除基于文件系统大小和文件系统种类(临时与持久)的有所不同。

殊不知,这些解决方案有其自身的权衡。尽管它可以抵御隐私模式检测,但它会留下元数据:即使数据自身无法解密,它的存有也提供了隐身使用的证据。

要是大家考虑到隐身模式的威胁模型, 其关键目的是维护同一个设备的其他用户的隐私,而并不是您访问的网站的隐私 ,这类权衡很有可能是没必要的。

隐私模式下如何标识用户

设备唯一标识与浏览器指纹

大家都了解,浏览器隐身模式可以让其他人无法了解你都访问了什么网站和做了什么实际操作,在隐身模式下,打开的网页和加载的文件不会记录到你的浏览历史记录以及加载历史记录中。在你关闭打开的全部隐身窗口后,系统会删除所有新 Cookie。可是,做为程序猿的大家,要是有类似以下场景:

当产品和数据深入分析师有必要更精准的数据时;

当无需登陆的页面(如社区文章)有必要杜绝隐身模式刷 UV 访问量时;

当无需登陆的投票站点有必要杜绝隐身模式反复投票点赞时;

当无需登陆的问卷类网站,有必要限制用户只有进行一次问卷提交或是第2次打开,有必要展示前次提交的其结果时;

...

这对大家而言,毫无疑问是一个极大的困扰,大家也许都了解 设备唯一标识 的概念,但在浏览器端,在隐身模式下,在无需用户额外授权时,大家该如何拿到设备唯一标识呢?

在开发场景下,唯一的标识一个设备是一个功能性,可以具有不少使用场景,例如 软件授权(如何确保你的软件在授权后才可以在特定机器上使用)、软件 License,设备标识,设备身份识别 等。

要是说要获得设备唯一标识,也许你可能会想到类似 IMEI、Android ID、MAC 地址等思路,可是 Android 10 中官方文档 [9] 中有以下两个表述:

从 Android 10 开始,使用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才可以访问设备的不可重置标识符(包含 IMEI 和序列号)。

默认状况下,在搭载 Android 10 或更高版本的设备上,系统会传输随机分配的 MAC 地址。

一个电脑上很有可能存有多个网卡,多个 MAC 地址,MAC 地址此外一个更为致命的弱点是,MAC 地址很非常容易手动更改。

至于 Android ID,则不具有真真正正的唯一性,ROOT、刷机、恢复出厂安装、不一样签名的使用等一定会造成获得的 Android ID 发生更改,并且不一样厂商定制的系统的 BUG 会造成不一样的设备很有可能会产生相同的 Android ID。

其他某些获得设备唯一标识的办法,这篇文章有十分全方位的论述:

获得设备唯一标识(Unique Identifier):Windows 系统 [10]

广告商是如何追踪大家?平日使用手机该怎样维护隐私 [11] 这篇文章有一张图则是一个更加好的汇总:

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

identifying

而要是回到大家前端场景下,之上这类办法又多了不少局限性,例如有的有必要特许权限,有的有必要依赖于原生开发的相互配合,那麼,有并没有一种 只有必要前端参与 ,还可以获得不错的精确率的唯一标识方案呢?—— 这时就到了 浏览器指纹 登场的过程中了。

FingerPrint 即大家常说的指纹识别,使用手指和拇指前端的纹理按下的纹印来鉴定身份。指纹是鉴别身份的一种信得过的办法,具有唯一性,由于所有人的每个指头上的纹理排列各不相同并且不因发育或年龄而更改。而浏览器指纹指的是仅通过浏览器的各种各样信息,如 CPU 核心数、显卡信息、系统字体、屏幕分辨率、浏览器插件等组合成的一个字符串,就 能可以说肯定定位一个用户,即使使用浏览器的隐私窗口模式,也无法制止 。

这是一个被动的识别方式。换句话说,理论上你访问了某一个网站,那麼这种网站就能识别到你,尽管不清楚你是谁,但您有一个唯一的指纹,未来无论是 广告投放、精准推送、安全性防范 ,或是其他某些有关隐私的事儿,都十分方便。

浏览器指纹的技术点与分类

基本指纹:浏览器基本指纹是一切浏览器都具有的特征标识,例如 UserAgent、屏幕分辨率、CPU 核心数、内存大小、浏览器插件及扩展、浏览器安装、语言、硬件种类、实际操作系统、时区、地理位置、DNS、SSL 证书等诸多信息,这类指纹信息“类似”人类的身高、年龄等,有非常大的冲突概率,只有做为辅助识别。可以在 这种网址 [12] 进行查看本地浏览器的基本特征。

高级指纹:浏览器高级指纹与基本指纹的差别是:基本指纹就像是人的外貌特征,外貌可以用男女、身高、体重区分,殊不知这类特征不可以对某个人进行唯一性标识,仅使用基本指纹也无法对客户端进行唯一性判定,基于 HTML5 的诸多高级作用就能生成高级指纹了。高级指纹包含 Canvas 指纹、Webgl 指纹、AudioContext 指纹、WebRTC 指纹、字体指纹等;

整体指纹:零散的指纹信息而非能真真正正的定位到唯一用户,而非可以用来意味着一个用户的唯全身份(用户指纹)。 整体指纹指的是将所有的用户浏览器信息组合起来 ,就可以可以说 99%之上的精确率定位标识用户。将基本指纹和高级指纹组合起来就可以生成整体指纹(用户指纹),这样就可以作到接近 99%之上定位唯一用户了。

更多有关高级指纹的小细节和原理,可以通过 探究浏览器指纹 [13] 这篇文章进行掌握。

BrowserLeaks

长时间以来,咱们一直以来觉得 IP 地址和 Cookie 是用于在线跟踪人员的唯一信得过数字指纹。但过去了一段時间,当现代互联网技术容许有兴趣的组织在他们不知情且无法制止的状况下使用新办法来识别和跟踪用户时,事儿就失控了。

BrowserLeaks [14] 便是有关浏览隐私和互联网浏览器指纹的。这边,你将找到一个 Web 技术安全性测试工具库,这类工具将向你展示哪些种类的个人身份数据很有可能会被泄露,以及如何维护自身免受此类泄露。这种网站提供了包含 IP 地址、地理位置、Canvas、WebGL、WebRTC、字体等多种种类指纹的查看以及基本原理慨括。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

fingerPrint

要是你对这其中的技术原理很有兴趣,可以进到 BrowserLeaks [15] ,点击对应卡片标题进行查看和掌握,例如 HTML5 Canvas Fingerprinting [16] 页面,会给出你的 Canvas 指纹以及唯一性率等信息。

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

fingerPrintCanvas

Nothing Private 的识别原理

前面的章节「浏览器隐身模式真的可以隐身吗?」中介绍了 Nothing Private [17] 这种站点的测试其结果,大家也看见,在提交信息和校验的过程中,请求会携带一个 finger 字段,这种字段就可以被觉得是“浏览器指纹”。

查看 GitHub 上 Nothing Private 的源码 [18] 可以发觉,Nothing Private 实现“浏览器指纹”的核心逻辑如下:

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

fingerprint1

显而易见,Nothing Private 使用 ClientJS [19] (用纯 JavaScript 编写的设备信息和数字指纹)的浏览器指纹识别作用来获得你的 Web 浏览器的指纹,核心办法在于 getFingerprint 。当你提交表单时,此指纹与你填写的标识一起保存有使用 PHP 做为后端的 MySQL sql数据中。下次你访问该网站时,你的浏览器指纹将与sql数据中的列匹配,并返回你填写的标识。

ClientJS 当前用于生成指纹的数据点包含:

user agent, screen print, color depth, current resolution, available resolution, device XDPI, device YDPI, plugin list,

font list, local storage, session storage, timezone, language, system language, cookies, canvas print

复制代码

大家或是浏览一下 ClientJS 的 `getFingerprint`基本逻辑 [20] :

无痕浏览器是什么意思啊(浏览器无痕模式真的可以隐身吗)

fingerprint2

大家发觉, getFingerprint 会获得 UA、cookie、本地存储、canvas 指纹等信息,再通过 Murmur Hash 算法加密,最后返回一个可以唯一标识浏览器设备的“浏览器指纹”。

MurmurHash 是一种 非加密型哈希 函数,适用于通常的哈希检索实际操作。由 Austin Appleby 在 2008 年发明, 并出现了多个变种,都已经发布到了公有行业(public domain)。与其它流行的哈希函数对比,针对规律性性较强的 key,MurmurHash 的随机分布特征体现更优良。

ClientJS 官网地址 [21]

FingerprintJS

FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,并没有一切依赖。默认状况下,使用 Murmur Hash 算法返回一个 32 位整数,Hash 函数可以很非常容易地拆换。与此同时,他也很轻量:开启 gzipped 后唯有 843 bytes ,匿名识别互联网浏览器的精确率达到 94% 。

FingerprintJS 的使用也十分简单:

import FingerprintJS from '@fingerprintjs/fingerprintjs';

// 使用启动时初始化:Initialize an agent at application startup.

const fpPromise = FingerprintJS.load();

(async () => {

// Get the visitor identifier when you need it.

const fp = await fpPromise;

const result = await fp.get();

// This is the visitor identifier:

const visitorId = result.visitorId;

console.log(visitorId);

})();

复制代码

更多有关 fingerprintJS 的信息,可以参考:

fingerprintJS 介绍与使用 [22]

fingerprintJS - GitHub [23]

fingerprintJS - 官方文档 [24]

上边这类办法,能获得九成之上实际意义的唯一浏览器指纹,也许而非能充分真的唯一,由于例如重写有关 canvas 办法、使用类似 猫头鹰浏览器 [25] 等特殊浏览器或是会使得有关办法失效,可是技术方式更多过程中仅仅是一个通用实际意义上的解决方案,增加破解的壁垒和成本费用,我觉得支持常用场景下的开发是足够的了。

有了唯一的浏览器指纹,大家就可以在类似统计 UV、点赞、投票的过程中,带上有关指纹,自然就可以在巨大水平上鉴别用户是不是存有刷票、刷访问量的个人行为了,但是, 浏览器指纹技术终归是把双刃剑 ,在解决之上问題的与此同时,难免会给用户带来更多的信息泄漏困扰。

实现 Canvas Fingerprinting

Canvas Fingerprinting(Canvas 指纹)基于 Canvas 绘制特定内容的图片,使用 canvas.toDataURL()办法返回该图片内容的 base64 编码字符串。针对 PNG 文件格式,以块(chunk)划分,最后一块是一段 32 位的 CRC 校验,提取这段 CRC 校验码便可以用于用户的唯一标识。Canvas 利用 HTML5 canvas API 和 JavaScript 来动态生成你期盼的图像。和其它跟踪技术一样,这类办法已被成千上万的网站选用了,包含大家熟知的广告行业。

接下来是 Canvas 指纹的一个简单实现,原理实际上十分简单,不理解的地区可以参考注释:

// PHP 中,bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去

// 接下来是PHP 的 bin2hex 的 JavaScript 实现

function bin2hex(s) {

let n,

o = '';

s += '';

for (let i = 0, l = s.length; i < l; i++) {

n = s.charCodeAt(i).toString(16);

o += n.length < 2 ? '0' + n : n;

}

return o;

}

// 获得指纹UUID

function getUUID(domain) {

// 创建 <canvas> 元素

let canvas = document.createElement('canvas');

// getContext() 办法可返回一个的对象,该的对象提供了用于在画布上绘图的办法和属性

let ctx = canvas.getContext('2d');

// 安装在绘制文本时使用的当前文本基线

ctx.textBaseline = 'top';

// 安装文本内容的当前字体属性

ctx.font = "14px 'Arial'";

// 安装用于填充绘画的颜色、渐变或模式

ctx.fillStyle = '#f60';

// 绘制"被填充"的矩形

ctx.fillRect(125, 1, 62, 20);

ctx.fillStyle = '#069';

// 在画布上绘制"被填充的"文本

ctx.fillText(domain, 2, 15);

ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';

ctx.fillText(domain, 4, 17);

// toDataURL返回一个包含图片展示的 data URI

let b64 = canvas.toDataURL().replace('data:image/png;base64,', '');

// atob() 办法用于解码使用 base-64 编码的字符串;base-64 编码使用办法是 btoa(),这俩都是window全局办法

let crc = bin2hex(atob(b64).slice(-16, -12));

return crc;

}

// 调用时,你可以传入一切你想传的字符串,而非局限于传递domain,这儿仅仅是为了更好地便于区分站点

console.log(getUUID('https://www.baidu.com/'));

复制代码

PHP bin2hex() 函数 [26]

测试其结果说明,同一个浏览器访问该域时生成的 CRC 校验码经常不变。可以简单理解为 同样的 HTML Canvas 元素绘制实际操作,在不一样的实际操作系统不一样的浏览器上,产生的图片内容实际上是不充分相同的 。出现这类状况很有可能是有哪些原因:

在图片格式上,不一样 web 浏览器使用了不一样的图形处理引擎、不一样的图片导出选项、不一样的默认压缩级别等。

在像素级别来看,实际操作系统各自使用了不一样的安装和算法来进行抗锯齿和子像素渲染实际操作。

即使是相同的绘图实际操作,最后产生的图片数据在 hash 层面上依然是不一样的。

如何更加好的维护个人隐私

大家应当在何时使用私密/隐身模式?

隐身模式便是可以在多人共用电脑上的过程中维护自身的浏览记录不被其他公用的人看见,以及维护自身的账户不被恶意登录。此外隐私模式还能维护大家不被恶意广告所困扰 。

即使你使用的是隐私浏览模式,也而非意味着你可以做某些邪恶的事儿 ;

也许你想将你的工作和个人日常生活分开;

你很有可能会共用一台计算机或设备,并且你不期待你的家人、好朋友、同事窥探;

你很有可能正在选购礼品,但你不期待一切东西破坏很有可能的惊喜;

或是,也许你仅仅是想限制公司收集相关你的数据量,并且你高度重视隐私;

使用公共场所的电脑上设备时。

如何避免出现被生成“浏览器指纹”?

上一大节大家探究了网站如何使用各种各样技术来生成“浏览器指纹”来标识唯一用户,那麼接下来大家而言说,如何制止被网站“生成”唯一用户指纹。

常用的方式是,通过浏览器的扩展插件,阻止网站获得各种各样信息,或是返回个假的数据,这类方式是在网页加载前就执行一段 JS 代码,更改、重写、HOOK 了 js 的各个函数来实现的,由于 JS 的灵便性给这类方式提供了很有可能。可是这类方式始终是表层的,使用 JS 修改是能避免出现绝大多数网站生成唯一指纹,可是是有方式可以检测到来是不是“作弊”的。

更加好的方式是以浏览器底层做处理,从浏览器底层修改 API 使得这类在 js 层获得的信息而非唯一,不管如何组合都不怎么能生成一个唯一的意味着用户的指纹。例如: 猫头鹰浏览器 [27] 。

猫头鹰浏览器是基于 chromium 代码修改编译的浏览器,从底层对各种各样 API 做了修改,可以交给用户自概念返回各种各样数据,例如 Canvas、Webgl、AudioContext、WebRTC、字体、UserAgent、屏幕分辨率、CPU 核心数、内存大小、插件信息、语言等信息,这样就可以充分制止被“生成”唯一用户指纹了。由于在线公司、广告商和开发人员喜欢跟踪你的在线活动和实际操作,以便于为你提供有针对性的广告,一般,大家觉得这是侵犯用户隐私的。

如何免受广告跟踪器的监视和跟踪

禁用第三方 Cookie。Chrome 2020 年推了一个叫做 SameSite Cookie 的东西,目的是为了更好地降低第三方 Cookie 的发送,但网站所有者仍然有能力关掉它( SameSite=None ),可参考下图。而 Chrome 的终极目标,是要在 2022 年充分消灭第三方 Cookie,像 Safari 和 Brave 已经做的那样,SameSite Cookie 便是首先步。

禁用 JavaScript 脚本,蒽,这种在当下,估计或是算了。在如今前后端分离的开发模式下,通常网站在禁用 JavaScript 后,将什么都没有,得,烦恼并没有了,网站内容都没有了,一了百了~

要隐藏你的互联网流量以免受监控和跟踪,你可以使用虚拟专用互联网 (VPN)。 你的 ISP 会了解你正在使用 VPN ,但它无法确认你正在访问哪些网站。VPN 服务通过远程服务器路由流量,这样的话看起来你是以除此之外位置或多个位置进行浏览。但是, VPN 提供商可以跟踪你上网的位置 ,这样的话最好找一家你可以信任的公司来删除或锁定你的浏览活动。VPN 不会阻止来源于广告商的第三方 cookie,但这类 cookie 将无法精确识别你的位置,进而使广告跟踪器无法或不很有可能有效。

友情提示:VPN 是中立性的技术,使用 由有关单位构建并且登记备案的 VPN 不属于违法个人行为,而私自搭建的则属于违法个人行为(即 使用非法 VPN 是违法的 );要是仅仅是使用 VPN 连接世界互联网进行必要的工作、查阅必要信息,是不属于违法个人行为的;要是使用 VPN 在世界互联网 制作、复制、查阅和传播 违法信息的,则有必要依法追责违法责任。

Tor 浏览器可以真真正正掩盖你的在线活动。TorBrowser 是一款匿名访问互联网的的软件,用户通过 Tor 可以在因特网上进行匿名交流。为了更好地实现匿名目的,Tor 把分散在全球的计算机连起来形成一个加密回路。当你通过 Tor 互联网访问互联网时,你的互联网数据会通过多台电脑上迂回发送,就像洋葱包裹其核心那样掩饰你的互联网活动,使得跟踪流量变得艰难,你访问的网站真的不清楚你在哪里,只了解你的请求路由通过的最后一个服务器的大致位置;信息传输在每一步都被加密,无从得知你所处位置和信息传输目的地。这样的话 Tor Browser 也被称之为洋葱浏览器,Tor 浏览器在关闭时会删除所有 cookie,可是即使 Tor 代理也不会阻止第三方广告商在你的浏览器中注入 cookie。

要是您觉得文章对您有作用,可以点赞评论转发支持一下~蟹蟹!