如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

现在的主流浏览器都支持DNT设置,DNT是英文Do not Track的简写,翻译成中文就是“不要跟踪我”。在本篇文章中,苏南大叔给大家带来的就是,从编程角度如何看待这个浏览器选项。

浏览器隐私选项 DNT 指标全面解析 - browser-dnt
浏览器隐私选项 DNT 指标全面解析(图12-1)

美丽的愿景

我们必须承认一点:这个DNT选项只是一个“美好的愿望”。是否跟踪,这个并不是浏览器说了算数的,而是你所浏览的网页端所决定的。而你浏览网页的时候,你的基本信息(比如ipcookie,浏览器ua等等),都已经发送到了服务器端。而服务器端是否对你的“不要跟踪”的诉求,进行处理。这要看你所浏览的网站的服务器的人品和心情了。比如,在piwik系统中,就有个选项,“是否支持客户端DNT”,这个就是上述结论的佐证。https://newsn.net/say/piwik-privacy-setting.html 。上述情形,类似于爬虫是否识别robots.txt一样。robots.txt对爬虫的约束力,是靠爬虫本身来执行的。

客户端如何发送数据

chrome为例,我们来对这个问题进行展开讨论。看图说话,chrome也警告大家,即使设置了这个选项,也是会有人使用你的隐私数据的。原因,不再赘述。

浏览器隐私选项 DNT 指标全面解析 - donottrack_0_chrome
浏览器隐私选项 DNT 指标全面解析(图12-2)

浏览器隐私选项 DNT 指标全面解析 - donottrack_1_chrome
浏览器隐私选项 DNT 指标全面解析(图12-3)

设置dnt选项前后,浏览器所发送的header头里面有如下变化。以浏览百度为例。

浏览器隐私选项 DNT 指标全面解析 - donottrack_2
浏览器隐私选项 DNT 指标全面解析(图12-4)

浏览器隐私选项 DNT 指标全面解析 - donottrack_3
浏览器隐私选项 DNT 指标全面解析(图12-5)

通过对比,我们可以看到,这个选项影响的就是header头里面的DNT选项。

服务器端如何处理

而苏南大叔在服务器段收到的数据如下:

浏览器隐私选项 DNT 指标全面解析 - donottrack_4_php
浏览器隐私选项 DNT 指标全面解析(图12-6)

php为例,这个数据可以在$_SERVER["HTTP_DNT"]中读取到。这就成为,服务器端是否支持DNT选项的唯一标准。

piwik/matomo为例,在代码中,苏南大叔看到的相关的判断代码如下:

浏览器隐私选项 DNT 指标全面解析 - donottrack_5_piwik
浏览器隐私选项 DNT 指标全面解析(图12-7)

protected function isHeaderDntFound(){
  return (isset($_SERVER['HTTP_X_DO_NOT_TRACK']) && $_SERVER['HTTP_X_DO_NOT_TRACK'] === '1')
            || (isset($_SERVER['HTTP_DNT']) && substr($_SERVER['HTTP_DNT'], 0, 1) === '1');
}

它的这个判断标准中,除了已经知晓的“HTTP_DNT”标准外,还有另外一个“HTTP_X_DO_NOT_TRACK”。至于后者,目前还没有检测到是哪种浏览器发出的。

firfox 和 safari

下面是firefoxsafari浏览器的设置项截图。

浏览器隐私选项 DNT 指标全面解析 - donottrack_6_firefox
浏览器隐私选项 DNT 指标全面解析(图12-8)

浏览器隐私选项 DNT 指标全面解析 - donottrack_7_firefox
浏览器隐私选项 DNT 指标全面解析(图12-9)

浏览器隐私选项 DNT 指标全面解析 - donottrack_8_safari
浏览器隐私选项 DNT 指标全面解析(图12-10)

ie浏览器

至于在遗忘之地的ie浏览器,这个功能设置起来较为麻烦。(其实是非常麻烦,十分非常不好用,这里就不细讲了)。大家愿意试试的,可以看下图,自己试试。让ie继续留在遗忘之地,不是更好嘛?

浏览器隐私选项 DNT 指标全面解析 - ie_dnt_00
浏览器隐私选项 DNT 指标全面解析(图12-11)

补充170715:
ie10的选项里面,有个较为简单的设置,隐藏的比较深。大家可以试试看。

浏览器隐私选项 DNT 指标全面解析 - ie10-dnt
浏览器隐私选项 DNT 指标全面解析(图12-12)

 【源码】代码片段及相关软件点此获取

 【piwik】秘籍文章入口,仅传授于有缘之人   piwik    dnt

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!