有很多软件是通过修改IE的代理设置来实现下载加速,或者翻墙的,比如土豆视频加速器和Chrome的翻墙插件Proxy Switchy。但是,这个简单的修改会带来一些意想不到的问题。比如,如果网页中有IFrame,涉及到一些跨域的访问,就可能会有问题。
IE会根据Proxy的设置来识别一个网站到底是Intranet还是Internet。
The Local Intranet Zone and Proxies: The Surprising Connection
从不同地方发起的URL请求可能导致Zone识别错误
像土豆加速器这样的软件,其代理配置脚本是针对URL进行分析,只对包含视频的URL使用代理的,其它则直接放过(DIRECT)。因此,在开启土豆加速器的情况下,一个本来应该属于Internet Zone的网页在第一次访问时会被IE误认为是Intranet Zone。但在第二次访问时,因为缓存所以并不产生网络访问,所以IE又认为是Internet Zone。 很显然,在是否开启土豆加速器和是否存在缓存的不同情况下,一个网页或者说URL对应的Security Zone是不同的。不同的Security Zone其安全控制是不同的,Internet Zone是Medium,而Intranet Zone是Medium-Low。
如果一个页面包含跨域的内容,在前面不同情况组合的切换下,是否会带来访问错误呢?
关于跨域脚本安全
About Cross-Frame Scripting and Security
http://msdn.microsoft.com/en-us/library/ms533028(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms533028(VS.85).aspx