如何自动删除Flash历史记录/隐私跟踪?还是阻止Flash存储它?


47

许多人听说过第三方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文件(例如使用launchdWindows的Task Scheduler)可能会干扰活动的浏览器。还是可以安全地假设,鉴于跨浏览器的性质,该插件将不在乎是否在其处于活动状态时将其删除?对于那些一直处于休眠状态的用户,仅注销期间的清除可能不起作用。

Firefox用户可以安装BetterPrivacyObjection来删除本地共享对象(也适用于所有其他浏览器)。我不知道这是否也会删除网站域名的踪迹。

或者:如何阻止Flash存储历史记录?

计划变更:我目前正在测试,禁止Flash写入自己的文件夹sys#SharedObjects文件夹。到目前为止,Flash尚未尝试还原权限(尽管在删除文件夹时,Flash当然会重新创建它们)。我没有遇到任何问题,但是使用多个浏览器和网站进行验证可能需要一些时间。我尚未找到报告错误的日志。在Mac上:

cd“ $ HOME / Library / Preferences / Macromedia / Flash Player / macromedia.com / support / flashplayer”
rm -r sys / *
chmod uw sys

cd“ $ 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的非常可疑的用户:您可能想为每个用户排除两个文件夹,并删除已经存在于您的跟踪中备份。)


14
自从我第一次遇到这个问题以来,我就已经将其视为严重的浏览器设计缺陷。在理想的解决方案将是Web浏览器插件接口,既可以延长,使浏览器可以告诉所有的插件来清除它们各自的高速缓存,或者需要插件将他们的缓存文件夹中时,它想要的浏览器可以清除至。在浏览器开发人员为我们解决此问题之前,您的问题非常重要。
克里斯W. Rea

而且我猜想临时解决方案在更改Cookie或历史记录设置或启动某些“私人浏览”模式时可能是一个简单的警告。但最重要的是,我将允许第三方存储的默认设置归咎于Adobe。
Arjan

嗯,我有一天需要研究一下:YouTube的延迟Cookie-与Flash无关,除非它们也是Flash Cookie。google.com/support/youtube/bin/answer.py?answer=141046
Arjan

另请参见papers.ssrn.com/sol3/papers.cfm?abstract_id=1446862上的 “ Flash Cookies和隐私” ,及其摘要:我们发现样本中超过50%的网站都在使用Flash Cookies来存储有关用户。有些人使用它来“重生”或重新实例化用户删除的HTTP cookie。Flash cookie经常与HTTP cookie共享相同的值,甚至在政府网站上用于为用户分配唯一值。隐私权政策很少披露Flash cookie的存在,并且缺乏用于实现隐私权偏好的用户控件。
Arjan 2010年

2
Adobe正在学习:从2011 1月的“提高隐私性:在Flash Player中管理本地存储”包括Adobe,Mozilla和Google在内的几家主要公司的代表一直在努力定义新的浏览器API(NPAPI ClearSiteData),以清除本地数据,已获准在2011年1月5日实施。任何实施该API的浏览器都将能够清除也实施该API的任何插件的本地存储。
Arjan

Answers:


5

几个月前,我实现了您在Mac上描述的解决方案。它确实阻止了跟踪,但是却阻止了许多复杂的Flash应用程序(任何在会话之间具有持久性的东西,最明显的是带有进度跟踪的Flash游戏)无法正常运行,或者根本无法正常运行。最终,我厌倦了故障排除并删除了文件夹锁。

我的临时解决方案是使用Flash阻止程序。因为我只为我信任的网站(例如YouTube)加载Flash对象,所以即使不删除隐私问题,也可以得到缓解。


当您回答时,我的问题仅提到sys文件夹。同时,维基百科也帮助我找到了一个#SharedObjects文件夹。您阻止了哪个文件夹?
Arjan

我认为是〜/ Library / Preferences / Macromedia / Flash \ Player锁定了。这样可以防止同时写入“ sys”和“ #SharedObjects”,但这不是很巧妙!
已于2009年

您使用哪个Flash Blocker?
亚历克斯

@alex-rentzsch.github.com/ clicktoflash非常适合Safari / Webkit。无需黑客!
编辑

我第二个@redacted的建议(ClickToFlash)–效果很好。
亚历克斯(Alex)2010年

12

如果使用Firefox,则具有BetterPrivacy扩展。它在退出期间删除LSO。当然,您可以使用FlashblockNoScript来提高安全性。

更新从10.1开始,如果您处于私有浏览模式,则Flash不存储LSO。


爱Better隐私。安装并忘记。
特拉维斯,2009年

更新不正确。它不存储第3方LSO的。这确实是一个相当卑鄙的软件。
chiggsy 2011年

@chiggsy,我无法确认这只是在隐私模式下拒绝第三方LSO。在OS X Lion的最新Safari和Chrome中使用Flash 11.0.1.152进行了测试。是的,在同一会话中可以存储任何内容(但在其他浏览器中不可用)。但是数据似乎没有存储在磁盘上。我尚未测试Adobe的较早声明是否仍然正确:[..]在不刷新页面或不关闭私有浏览窗口的情况下打开或关闭私有浏览不会影响Flash Player。
Arjan

至于BetterPrivacy,它不仅支持在退出时进行清理(这在我的浏览器中是很少见的),而且::或通过可配置的计时器功能,同时某些所需的Flash cookie可以从自动删除中排除
Arjan


2

我创建了一个Mac OS X 启动脚本,该脚本不断删除您的Flash Cookie。

只需使用您的用户名更改REPLACEME,然后将此文件保存在〜/ Library / LaunchAgents / RemoveFlashCookies.plist下。重新启动以加载脚本。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>  
    <key>Label</key>
    <string>Remove Flash Cookies</string>
    <key>ProgramArguments</key>
    <array> 
        <string>rm</string>
        <string>-rf</string>
        <string>/Users/REPLACEME/Library/Preferences/Macromedia</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

我认为启动WatchPaths密钥将在这里大有帮助。代替忙循环,只需在路径更新时触发作业即可。
chiggsy 2011年

1

只是一个想法:

尝试使用:

hdiutil -shadow   # lots more besides this, I just thought of  it.

并将路径安装为只读。让Flash写入影子文件,并维护该目录的已知状态。我将使用TopSites和Safari拍摄的网页图片数据库尝试相同的操作。

为什么?

因为我不想删除数据。我希望将它们发送回修改后的数据。这样,我也可以玩此数据挖掘游戏。


直到今天我才看到你的帖子!您确实实现了吗?有有趣的细节要分享吗?
Arjan 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.