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

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

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

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

浏览器隐私选项DNT指标解析(图11-1)

浏览器隐私选项DNT指标解析 - donottrack_1_chrome

浏览器隐私选项DNT指标解析(图11-2)

设置dnt选项前后,浏览器所发送的header头里面有如下变化。以浏览百度为例。
浏览器隐私选项DNT指标解析 - donottrack_2

浏览器隐私选项DNT指标解析(图11-3)

浏览器隐私选项DNT指标解析 - donottrack_3

浏览器隐私选项DNT指标解析(图11-4)

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

而我们在服务器段收到的数据如下:
浏览器隐私选项DNT指标解析 - donottrack_4_php

浏览器隐私选项DNT指标解析(图11-5)

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

在piwik中,我们看到了相关的判断代码如下:

浏览器隐私选项DNT指标解析 - donottrack_5_piwik

浏览器隐私选项DNT指标解析(图11-6)

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”。至于后者,目前还没有检测到是哪种浏览器发出的。

下面是firefox和safari浏览器的设置项截图。

浏览器隐私选项DNT指标解析 - donottrack_6_firefox

浏览器隐私选项DNT指标解析(图11-7)

浏览器隐私选项DNT指标解析 - donottrack_7_firefox

浏览器隐私选项DNT指标解析(图11-8)

浏览器隐私选项DNT指标解析 - donottrack_8_safari

浏览器隐私选项DNT指标解析(图11-9)

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

浏览器隐私选项DNT指标解析 - ie_dnt_00

浏览器隐私选项DNT指标解析(图11-10)

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

浏览器隐私选项DNT指标解析 - ie10-dnt

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

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

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

打赏领取小礼物

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/dnt-howto.html
上一篇好文:编译C语言的exe时,修改平台工具集错误
下一篇好文:个人申请微信小程序教程

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~