如何不使用cookie追踪用户?【欢乐向】

标签: cookie 用户 欢乐 | 发表时间:2012-11-11 23:14 | 作者:kokdemo
出处:http://www.yeeyan.org

译者 kokdemo

(以下凡是有括号的地方都是译者的注解,不代表作者本人的观点)
上周我和 AlexanderDutton 先生聊到一个观点,那就是我们使用浏览器缓存的时候必须使用类似cookie的方法。我想到最近,欧盟的一条新法律就要开始生效了,这条法律要就网站需要在用户同意的情况下才能在用户的电脑上储存cookie。不管这法律是不是必要的,但它确实是缺少严谨的考虑的,它也确实缺少信息去帮助网站的管理者理解它并实现改变。


British Telecom's implementation of the new cookie laws. Curiously, if you visit their site using the Opera web browser, it assumes that you've given consent, even if you click the button to not do so.

英国电讯已经开始执行了该法律(上图是他们对用户询问的窗口,具体内容……就不翻译了吧……)。令人好奇的是,如果用户使用Opera浏览器,那么它将会直接默许你同意,哪怕你点了no。

(如果是国内的无良商人……估计用什么浏览器都会默许吧……

为了解释这个法律中的一个歧义,我使用了一个可以像cookie和别的比如Flash方法和本地存储类似工具,但是这可能会有一个很大的灰色区域。我的工具使用浏览器缓存的时候滥用了“permanent”方法重定向,也叫做HTTP 301方法。


实例站点→ See Demo Site

你可以尝试一下我的方法。点击那个按钮你就可以看看那个样本站点,然后关了你的浏览器或者重启一下你的电脑,之后再重新访问一次:这个站点会辨认出你,并显示出和你第一次访问这个站点的时候同样的随机数,还能确认你什么时候第一次访问。

以下就是工作的步骤,简而言之:


  1. 一个用户访问网站
  2. 网站源码中包括一个“”的标签,告诉浏览器从哪个网址能够找到一些javascript。
  3. 用户的浏览器会请求javascript文件。
  4. 服务器会为这个用户生成一个随机且独一无二的标示。
  5. 服务器会使用一个HTTP 301响应告诉浏览器“这个javascript可以在一个独特的网址找到”,然后会提供一个包括那个独一无二标示的地址。
  6. 用户的浏览器会请求一个新的文件,比如 /javascripts/tracking/123456789.js,这样那个标示就是123456789。
  7. 这个动态生成的javascript会把标示当做一个值保存,这样子就可以起到追踪的目的。
  8. 随后哪怕你关了浏览器依然会受到请求,不过这样会跳过步骤3和步骤5,因为用户的浏览器会缓存301方法并重新使用那个地址来标示用户。

上图标示了301方法的用法。

和传统的基于cookie的追踪方法比如谷歌分析相比,这个方法有如下特点:

这个方法不强健,清除缓存比清除cookies更常用,在很多浏览器中,使用一次强制刷新会导致产生一个新的追踪标示。

这个方法不容易被一些隐私工具所屏蔽,包括W3C标准提议的:他不会被任何cookie清理或者别的隐私过滤工具所发现,因此我意识到它不会被匿名模式或者别的浏览器的私人模式发现。

总之,这个技术可能会陷入一个灰色领域。它用于追踪目的肯定会与这个法律原本的精神所相悖,哪怕这个“代理”请求技术是个微不足道的实现甚至是个先进的解决方案,通过谷歌分析或者类似的方案使用一个数据库在储存有独一无二标示的cookies。

然而通过立法来反对使用HTTP 301方法是很难的,因为这是一个比cookie还要基本的必要部分。同样的还有一些类似的原因,想要分析并屏蔽这个技术相比传统的cookie方法明显更难。因此,这项技术确实是有点脆弱了,如果你真的要使用它的话,你可能需要去忍耐一个cookie使用时限减少的事实。



看一下示例站点→ See Demo Site

下载代码→ Download Code

请尝试一下这个示例,或者下载源码(Ruby/Sinatra格式)然后你自己就可以看看这项工作是怎么工作的了。

我自己不是一个律师,因此我无法给出一个这项追踪技术是否合法的说明。我怀疑如果你没有征得用户的同意,使用新方法和传统的方法应该是有问题的。然而这确实是一个有意思的技术进步,可能什么时候也就合法了吧。



相关 [cookie 用户 欢乐] 推荐:

如何不使用cookie追踪用户?【欢乐向】

- - 译言-电脑/网络/数码科技
(以下凡是有括号的地方都是译者的注解,不代表作者本人的观点). 上周我和 AlexanderDutton 先生聊到一个观点,那就是我们使用浏览器缓存的时候必须使用类似cookie的方法. 我想到最近,欧盟的一条新法律就要开始生效了,这条法律要就网站需要在用户同意的情况下才能在用户的电脑上储存cookie.

3·15的迷思:cookie真得会侵犯用户隐私吗?

- - TECH2IPO创见
今天,随着开放的互联网时代的大行其道,公众的隐私权遭遇了前所未有的重视和挑战,在本次3·15晚会上,包括网易网易、品友、传漾、易传媒、亿玛等公司因为涉及通过cookie侵犯、利用用户隐私而被点名批评. 晚会尚未结束,上述被批评公司就开始做出了回应. 亿玛( @亿玛地皮)表示:. 1)cookie是全球浏览器支持的一种用户标识信息,属于匿名信息,不涉及任何用户个人账户、联系方式等隐私;2)匿名信息在法律标准上应属于非隐私信息.

浅谈用户行为分析之用户身份识别:cookie 知多少?

- - leejun_2005的个人页面
对于数据统计分析或者数据挖掘而言,用户是个非常重要的维度,也是统计分析能落地的基础. 一般而言,咱们追踪或者识别一个用户的首选方案是 userID,大多数公司的产品都会要求用户注册、登录操作,都存在一个类似 UMC 的数据库,管理和标示所有的用户. 但这有个前提条件,就是你所在的公司业务必须以闭环为主(比如 qq、微信、淘宝等).

细说Cookie

- ~Wing~ - 博客园-首页原创精华区
Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识. 本文将对Cookie这个话题做一个全面的描述, 也算是本人对Cookie的认识总结. Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.

LTPA Cookie原理

- - Web前端 - ITeye博客
Lightweight Third-Party Authentication (LTPA)是IBM Websphere和Domino产品中使用单点登录技术. 当服务器配置好LTPA认证方式,用户通过浏览器成功登录后,服务器会自动发送一个session cookie给浏览器;此cookie中包含一个LTPA Token.

IE 9 也沦陷,Google 照样愚弄了 W3C 的技术规范利用 cookie 追踪用户

- - 谷奥——探寻谷歌的奥秘
Google的“cookies门”事件还没完, 就在微软隔岸观火幸灾乐祸一石二鸟之时, 突然发现自己的IE 9其实也中枪了,Google照样找到了自己的办法绕过IE 9的cookies设置,防止自己的追踪型cookies. IE 9的规范要求放置追踪型cookies的网站必须利用 W3C的P3P技术描述出自己将如何利用cookies追踪信息,如果不使用P3P标准,是不允许利用cookies来追踪用户信息的.

session和cookie详解

- - ITeye博客
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一 技术. 本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答. 二、HTTP协议与状态保持.

Cookie深度解析

- - CSDN博客互联网推荐文章
       最近在公司做了Web端单点登录(SSO)功能,基于Cookie实现,做完之后感觉有必要总结一下,本文着重讲解Cookie,下文会说明单点登录的实现方案.        众所周知,Web协议(也就是HTTP)是一个无状态的协议. 一个Web应用由很多个Web页面组成,每个页面都有唯一的URL来定义.

Cookie:并非洪水猛兽

- - 互联网分析
腾讯科技 雷建平 王可心. 任何事物都有两面性,网易、品友互动等将针对客户的“高超话术”用到央视315暗访人员身上,不但未能提升销售业绩,还致使自己乃至整个互联网营销业深陷舆论危机. 在央视315晚会镁光灯下,不仅身为媒体的网易无意中被推上舞台,品友互动、易传媒、亿玛、悠易、传漾公司这些数字广告平台商“火”了一把:涉嫌通过Cookie盗取用户信息.

文章: Cookie安全漫谈

- - InfoQ cn
在Web应用中,Cookie很容易成为安全问题的一部分. 从以往的经验来看,对Cookie在开发过程中的使用,很多开发团队并没有形成共识或者一定的规范,这也使得很多应用中的Cookie成为潜在的易受攻击点. 在给Web应用做安全架构评审(Security architecture review)的时候,我通常会问设计人员以下几个问题:.