许多人听说过第三方Cookie,并且某些浏览器甚至默认情况下将其阻止。某些人甚至可能正在使用“私人浏览”模式。但是,似乎只有很少的人意识到Adobe的Flash Player还在您的本地硬盘上留下了跨浏览器的踪迹,并允许将类似cookie的信息发送回服务器,包括第三方站点。并且由于它是一个插件,Flash不会考虑任何浏览器的隐私设置。
很长的帖子,很抱歉,但是首先要详细说明为什么使用Flash会引起隐私问题,然后是我的测试结果:
- Flash Player会保存您的计算机访问过的Flash站点的域名的跨浏览器历史记录。与浏览器的历史记录不同,此历史记录不限于特定的天数。使用所谓的“私人浏览”模式时也会记录历史记录。它存储在您的硬盘上(但是,如下所述,如果不访问Adobe网站,您将不知道存储了什么)。
- 我不确定是否每次访问都会保留任何日期和时间信息,但是要查看域名:右键单击某些Flash内容,打开设置对话框,然后单击“帮助”图标或单击“ 隐私”选项卡中的“ 高级”按钮。。这将打开浏览器,打开Adobe.com 上的帮助页面,在其中可以单击“ 网站存储设置”面板。
- 一个人可以清除现有列表,但不能阻止它再次被记录。
Flash允许使用所谓的本地共享对象(也称为“ Flash Cookies”)将数据存储在本地硬盘上。就像HTTP cookie一样,可以将这些数据发送回服务器以进行跟踪。它们是跨浏览器的,没有到期日期,也无法在Flash偏好设置中设置用户定义的最大生存期。这些不是HTTP cookie,它们(当然)不会被浏览器的cookie首选项阻止,并且在删除常规HTTP cookie时也不会被删除。Adobe 已宣布版本10.1将在大多数流行的浏览器中服从Private Browsing,但不幸的是,每当手动删除常规Cookie时,也不会删除数据。而且其实现可能会令人困惑:
[..]如果在创建Flash Player实例时浏览器处于正常浏览模式,则该特定实例将永远处于正常浏览模式(关闭私有浏览)。因此,在不刷新页面或不关闭私有浏览窗口的情况下打开或关闭私有浏览不会影响Flash Player。
本地共享对象不限于您访问的站点,默认情况下启用了第三方存储。在“ 全局存储设置”面板上,可以取消选择默认的“ 允许第三方Flash内容在计算机上存储数据”。由于跨浏览器和无到期的性质(而且鲜为人知的事实),我觉得跨浏览器第三方Flash Cookies对访问者的跟踪比第三方正常的HTTP cookie更危险。它们甚至还用于还原用户尝试删除的纯HTTP cookie:
“所有Cookie的广告商,网站和网络都使用Cookie进行有针对性的广告投放,但Cookie受到了攻击。根据最新研究,正在被40%的用户删除,从而造成严重问题,” United Virtualities创始人Mookie Tenembaum说。“从简单的频次上限到更复杂的行为定位,Cookie是任何在线广告活动的重要组成部分。PIE[“ Persistent Identification Element”]将为发布者和第三方提供商提供对Cookie的持久备份,从而有效地使其变得无懈可击 “, Tenembaum添加。
[..]为了证明这种跟踪机制的合理性,UV的Tenembaum说:“用户对技术的了解不足,无法知道Cookie是好是坏,或者它是如何工作的。”
- 当选择“ 无”(零KB)作为“ 指定磁盘空间量”时,您尚未访问的网站网站可用于在计算机上存储信息,然后选中“ 不再询问”,则某些网站将无法使用。但是,将其设置为“ 无”但未选择“ 不再询问”,然后在出现提示时选择“拒绝”时,同一站点可能会工作。这两个选项都将导致允许零KB数据,但是行为有所不同。
- 该插件还为Adobe签名的文件提供了Flash Player缓存。我猜这些文件不是问题。
那么:如何自动删除该信息?
在Mac上,可以在以下位置settings.sol
为每个访问的Flash网站找到一个文件和一个文件夹:
$ HOME / Library / Preferences / Macromedia / Flash Player / macromedia.com / support / flashplayer / sys /
删除中的settings.sol
文件和所有文件夹sys
,将从设置面板中删除跟踪。但是,实际的本地共享对象在其他位置(请参见Wikipedia,以获取其他操作系统上的位置),位于以下位置的随机命名子文件夹中:
$ HOME /库/首选项/ Macromedia / Flash Player /#SharedObjects
但是然后:如何自动删除它?只是不时地删除文件夹和settings.sol
文件(例如使用launchd
Windows的Task Scheduler)可能会干扰活动的浏览器。还是可以安全地假设,鉴于跨浏览器的性质,该插件将不在乎是否在其处于活动状态时将其删除?对于那些一直处于休眠状态的用户,仅注销期间的清除可能不起作用。
Firefox用户可以安装BetterPrivacy或Objection来删除本地共享对象(也适用于所有其他浏览器)。我不知道这是否也会删除网站域名的踪迹。
或者:如何阻止Flash存储历史记录?
计划变更:我目前正在测试,禁止Flash写入自己的文件夹sys
和#SharedObjects
文件夹。到目前为止,Flash尚未尝试还原权限(尽管在删除文件夹时,Flash当然会重新创建它们)。我没有遇到任何问题,但是使用多个浏览器和网站进行验证可能需要一些时间。我尚未找到报告错误的日志。在Mac上:
cd“ $ HOME / Library / Preferences / Macromedia / Flash Player / macromedia.com / support / flashplayer”
rm -r sys / *
chmod uw syscd“ $ HOME / Library / Preferences / Macromedia / Flash Player”
#保留随机命名的子文件夹(仅保留最新的子文件夹即可;请参见下文)
rm -r \ #SharedObjects / * / *
chmod -R uw \ #SharedObjects
我想以上chmod
这些不能在旧的Windows系统上实现(我不确定XP和Vista吗?)。尽管也许在Windows上可以用相同名称的虚拟文件替换文件夹 sys
和文件?任何人?#SharedObjects
显然,阻止Flash为所有站点存储那些本地共享对象可能会导致问题。一些测试结果(在Mac OS X上为Flash 10):
- 阻止
sys
文件夹时(即使使该#SharedObjects
文件夹处于可写状态),YouTube也会在观看多个视频时忘记您的音量设置。在访问受信任的站点时暂时允许对被阻止的文件夹进行写访问(仅针对您喜欢的域创建文件夹,也许在中包含引用settings.sol
)可以解决此问题。这样,对于YouTube,可以允许Flash写入sys/#s.ytimg.com
和#SharedObjects/s.ytimg.com
,而Flash不能为其他域创建新文件夹。之后可能还需要将其设置为settings.sol
只读,或者再次将其删除。 - 同时阻止
sys
和#SharedObjects
文件夹时,YouTube和Vimeo可以正常工作(尽管它们可能不记得任何设置)。但是,“奔跑吧”甚至拒绝展示视频播放器。通过临时取消阻止#SharedObjects
文件夹来解决此问题,以允许Flash创建带有某个随机名称的子文件夹。在此文件夹中,它将为当前Flash网站(content.bitsontherun.com
)创建另一个文件夹。删除该网站特定的文件夹,并阻止这两个文件夹和#SharedObjects
随机命名的子文件夹,尽管它仍然无法将任何内容写入磁盘,但似乎仍允许运行中的Bits起作用。因此:随机命名的子文件夹的存在(即使处于写保护状态)对于某些站点也很重要。 - 当我第一次找到该
#SharedObjects
文件夹时,它包含许多带有随机名称的子文件夹,其中一些是在同一天创建的。我不知道Flash何时决定要一个新文件夹,以及它如何确定(并记住)该随机名称。 - 有一阵子我考虑过不阻止对
sys
和的写访问#SharedObjects
,而是为知名的第三方跟踪域显式创建只读文件夹(例如基于AdBlock Plus中的列表)。这样,任何其他域仍可以创建本地共享对象。但是列表会很长,而且AdBlock Plus中的域可能还是所有第三方域,因此禁用“ 允许第三方Flash内容在您的计算机上存储数据”可能会产生完全相同的结果。
任何人都有经验吗?
(最后说明:如果以后指向设置面板的上述链接以后不再起作用,请使用Flash Player已知的URL作为起点:www.adobe.com/go/settingsmanager。另请参见“ 您已删除自己的Cookies? Wired.com上的“三思”-它本身也使用Flash cookie ...对于使用Time Machine的非常可疑的用户:您可能想为每个用户排除两个文件夹,并删除已经存在于您的跟踪中备份。)