跨域请求:Javascript与Flash

Har*_*ish 7 javascript browser security flash

您可能知道,浏览器的安全模型不允许从http://www.example.com页面加载的脚本发出跨域请求(除了www.example.com之外的任何其他域都没有AJAX调用).Javascript文件本身可能是从一个不同的域(www.javascript.com/myscript.js)提供的,这是无关紧要的.这是同源政策.

Flash也有类似的东西吗?但Flash是否将原点视为加载 .swf文件的HTML页面,或者源是为.swf文件提供服务的域?

因此http://www.example.comhttp://www.swf.com/myflash.swf加载.swf文件.现在.swf只能从www.example.com或www.swf.com加载资源?我假设在example.com或swf.com上没有设置跨域文件.

nai*_*sts 3

我认为,这篇文章解释了很多关于您提到的问题:http://www.foregroundsecurity.com/MyBlog/flash-origin-policy-issues.html

\n\n

从那里:

\n\n
\n

对于网站所有者来说,所有用户提供的内容都应由完全独立的域提供。雅虎邮件、Hotmail、维基百科和许多其他主要网站已经实现了这一点,但大量的自包含 Web 应用程序并没有这样做(如果我可以的话,例如,上传恶意文件到“apiwiki.twiitter.com”,我可以执行跨子域cookie攻击)。\n Flash 10,0,0,2 实现了部分解决方案:带有“content-Disposition:attachment”标头的 SWF 文件在嵌入网页时\n 不会执行。如果所有用户生成的内容都使用此标头提供(在任何情况下都不是坏主意),它可能会限制您的曝光,但这不是一个非常强大的解决方案。

\n
\n\n

听起来如果您从不同的域提供内容并且没有跨域策略文件,那么 Flash 无法从主服务器访问文件。

\n\n

另外,这篇文章:http://supergeekery.com/index.php/geekblog/2009/12指出

\n\n
\n

我写的所有内容都应该能够相互信任并相互分享。您可能想知道 Flash\n 广告是否存在问题。他们有这个\n问题吗?不,互联网上到处都有 Flash 广告,但由于\n它们几乎从未托管在与您\xe2\x80\x99正在访问的域\n相同的服务器上,因此\ n它们\n不\xe2\x80\x99t获取访问网站\n站点\xe2\x80\x99s主代码\xe2\x80\x99s数据的数据。凉爽的。

\n
\n