很多人都听说过第三方 cookie,有些浏览器甚至会默认阻止它们。有些人甚至可能使用隐私浏览模式。然而,似乎只有少数人意识到 Adobe 的 Flash 播放器还在您的本地硬盘驱动器上留下了跨浏览器的痕迹,并允许将类似 cookie 的信息发送回服务器,包括第三方站点。由于它是一个插件,Flash 不会考虑任何浏览器的隐私设置。
抱歉,这篇文章很长,但首先是关于为什么使用 Flash 会引起隐私问题的一些详细信息,然后是我的测试结果:
Flash 允许使用所谓的本地共享对象(又名“Flash Cookies”)将数据存储在您的本地硬盘驱动器上。就像 HTTP cookie 一样,这些数据可以发送回服务器,用于跟踪目的。它们是跨浏览器的,没有到期日期,也不能在 Flash 首选项中设置用户定义的最大生命周期。这些不是 HTTP cookie,它们(当然)不会被浏览器的 cookie 首选项阻止,并且在删除正常的 HTTP cookie 时不会被删除。Adobe已宣布10.1 版将遵守大多数流行浏览器中的隐私浏览,但不幸的是,没有任何关于在手动删除普通 cookie 时也会删除数据的消息。它的实现可能会令人困惑:
[..] 如果在创建 Flash Player 实例时浏览器处于正常浏览模式,那么该特定实例将永远处于正常浏览模式(关闭隐私浏览)。因此,在不刷新页面或关闭隐私浏览窗口的情况下打开或关闭隐私浏览不会影响 Flash Player。
本地共享对象不限于您访问的站点,默认启用第三方存储。在全局存储设置面板中,可以取消选择默认的允许第三方 Flash 内容在您的计算机上存储数据。由于跨浏览器和无过期的特性(而且很少有人知道这一点),我觉得跨浏览器的第三方 Flash Cookie 比第三方普通 HTTP cookie 对访问者跟踪更危险。它们甚至用于恢复用户试图删除的纯 HTTP cookie: …
可能的重复:
计算机是否会通过 Web 浏览器感染恶意软件?
众所周知,您可以通过访问网站来感染病毒。但这怎么可能呢?
这些病毒是攻击 Windows、Mac 和 Linux 用户,还是 Mac/Linux 用户免疫?
我知道我显然可以通过在 Windows 中下载和执行 .exe 来感染病毒,但是如何仅通过访问网站来获得病毒?
病毒是用 JavaScript 编写的吗?(这是有道理的,因为它是一种在本地运行的编程语言。)如果是,那么常用的 JavaScript 函数有哪些?
有人知道支持 js 的好的命令行浏览器吗?
理想情况下,我需要以下能力:
some-browser http://example.com > ~/page.html
Run Code Online (Sandbox Code Playgroud)
意思是cli浏览器下载html,执行js,输出一个页面。
Firefox 过去用于阻止自动重定向,并有一个按钮可用于选择加入重定向。但是,几个月前的更新取消了此功能,现在 Firefox(版本 35)总是自动重定向。
如何恢复旧行为并阻止自动重定向?
当我http://example.com/load/在浏览器中输入并按 时ENTER,这个网站将我重定向到http://example.com/load/1/,从那里到http://example.com/load/2/,然后我终于登陆了http://example.com/load/3/。
这些重定向发生在网站端,我不知道我要去哪里。但我终于登陆了这个网址:http://example.com/load/3/。
我想跟踪浏览器看到的所有 URL。我没有在我的历史记录中看到它作为它在网站结束时的重定向。是否有任何 Firefox 插件或一些工具可以为我跟踪这个?
我在 Windows 7 Ultimate x64 上使用 Google Chrome 11.0.696.77。
是否可以刷新(重新加载)谷歌浏览器中的所有标签而无需进入每个单独的标签并点击F5刷新页面?
我试图确定www.whatsmyip.org上显示的信息是否是网络服务器可以从网络访问者那里获得的绝对最大信息量。是否有其他网站能够像这样被动地从用户那里获取更多信息?
我不是在谈论端口嗅探或来自用户的任何类型的交互,只是服务器可以从“愚蠢”访问中获得的信息。
我有许多临时和测试服务器,我需要不断修改我的主机文件才能访问(它们取决于域名,所以我必须更改主机文件才能使它们工作)。
我觉得这很烦人。我想为我想要使用的每种网站设置某种便携式浏览器。是否有任何版本的图形 Web 浏览器(包括基于其他浏览器渲染引擎的浏览器)可以执行此操作?
通过这种方式,如果我想测试暂存,我可以简单地启动已经配置为使用暂存的实例。
有任何想法吗?
编辑:重要的功能是能够同时运行两个浏览器,都浏览到some-address.com,但一个浏览1.2.3.4器将请求定向到服务器 ,另一个浏览器将请求定向到服务器5.6.7.8。
编辑:(3/16/14)
这个问题是几年前提出的,我仍然不知道这样做的体面方法。让我试着进一步解释一下,因为人们似乎误解了这个问题。这不是仅通过使用代理服务器就可以轻松解决的问题。我想可能可以在代理服务器中编写大量规则来解决问题,但对于一个简单的问题来说,这是一个非常复杂的解决方案。
所以要澄清:
共有三个 Web 服务器。生产、测试和开发。每个都运行一个多租户应用程序,该应用程序根据用于访问它的主机名进行自定义。从概念上讲,这类似于允许多个站点在同一个服务器实例上运行的内容管理系统或博客引擎。您只需将主机名指向服务器,通过 HTTP 1.1 主机名映射访问它的主机名就是它显示的站点。
任何简单地重写主机文件的解决方案都不起作用,因为需要同时运行多个浏览器窗口到不同的站点、生产、开发、测试等......所以简单地不断更改主机文件不会工作,因为它会影响所有浏览器实例。如果您更改一个浏览器的映射,那么其他浏览器现在也会映射到该服务器,因此任何后续请求都将转到错误的服务器。
我正在寻找的是一种强制此浏览器实例使用此主机文件以及该浏览器实例使用该主机文件的方法,例如通过命令行参数。我什至不在乎是否需要安装浏览器的多个副本。
这对于 firefox 便携式可能是可行的,因为我认为它为每个安装的副本使用自己的配置文件,但问题是用于管理站点的第三方软件不适用于 firefox(站点本身可以,但管理工具不,它们在 chrome、IE 和 Opera 上运行良好,但是……我无法访问源代码来修复它)。
browser ×10
firefox ×3
redirection ×2
website ×2
command-line ×1
flash-player ×1
hosts-file ×1
http ×1
javascript ×1
linux ×1
portable ×1
security ×1
web ×1
windows-7 ×1