如何绕过flash跨域安全性

时间:2010-11-02 16:41:37

标签: flash security crossdomain.xml

如何在localhost上加载执行的swf时禁用crossdomain.xml检查?

Error #2044: Unhandled SecurityErrorEvent:. text=Error #2048: Security sandbox violation: http://localhost:2541/xxx.swf cannot load data from http://www.com/xxx.swf.

我想为本地运行的HTML5 Web应用程序分配完全信任。我想禁用任何跨域检查。

为什么呢? 某些外部服务器不为其托管的SWF文件提供crossdomain.xml。 我在当地跑步。我希望完全信任调试目的。

我该怎么做?

我不会考虑AIR,因为它无法在HTML5应用程序中使用。

将网址“http://localhost:2541/xxx.swf”添加到“C:\ Users \ Arvo \ AppData \ Roaming \ Macromedia \ Flash Player#Security \ FlashPlayerTrust \ u.cfg”没有帮助。

价:

  1. http://www.abdulqabiz.com/blog/archives/2007/03/20/flash-player-trust-flashplayertrust-on-gnulinux/

  2. Running a SWF from file:/// without having the user change their Flash Player security settings

3 个答案:

答案 0 :(得分:2)

如果您在Flash中预览 swf,则没有跨域限制。但是,如果你实际上是在浏览器中查看它(例如,本地网络服务器),它就像其他任何东西一样受限制。您必须将crossdomain.xml文件放在另一个站点上,或让策略服务器在端口843上侦听主策略。

答案 1 :(得分:2)

使用本地服务器代理远程地址。假设您要连接到:

http://someserver.com/whatever

然后拨打电话:

http://localhost/proxy/someserver.com/whatever

让本地服务器应用程序进行实际的远程调用并代理响应。

答案 2 :(得分:0)

我认为您需要将文件的本地路径添加到.cfg文件,而不是您用来访问它的路径。因此,您可以将/location/of/xxx.swf添加到.cfg而不是http://localhost:2541/xxx.swf