【问题标题】:Security Sandbox Violation: Lack of Policy File Permissions安全沙箱违规:缺乏策略文件权限
【发布时间】:2011-08-06 09:21:44
【问题描述】:

我正在使用 as3httpclientlib 将数据发布到我的网络服务,但我一直在 得到以下安全违规。有谁知道如何解决这个问题? 我的 crossdomain.xml 文件位于安全违规通知下方。

注意:我正在使用 apache 代理对 Web 服务的请求,因此目标 url/port 和服务于 applet 的 url/port 是相同的——即http://192.168.100.101。此外,crossdomain.xml 文件位于 web app 的根目录中,该文件为 applet 而不是 web service 提供服务;但是,由于请求是代理的,因此文件的 url 是 http://192.168.100.101/crossdomain.xml

* 违反安全沙盒 * 连接到 192.168.100.101:80 停止 - 不允许 http://192.168.100.101/com-web/flex/ComUi.swf 错误:请求资源位于 xmlsocket://192.168.100.101:80 由 请求者来自 http://192.168.100.101/com-web/flex/ComUi.swf 由于缺少策略文件而被拒绝 权限。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*" secure="false" />
<allow-access-from domain="*" to-ports="80, 8080" />
</cross-domain-policy>

谢谢。

【问题讨论】:

    标签: apache-flex actionscript-3 security cross-domain xmlsocket


    【解决方案1】:

    您是否尝试使用 WireShark 对其进行调试,查看应用程序是否在端口 843 上发送请求,以及服务器是否通过套接字发回响应?如果您已经使用服务器应用程序来提供策略文件,则在您的帖子中并不完全清楚,如果没有,您应该,不管怎样,下面的链接应该会有所帮助。

    如果您需要更多关于工作原理的信息,可以查看this

    【讨论】:

    • 这是正确的。 as3httpclientlib 使用套接字,这需要套接字策略。
    • @mindnoise:不,我目前没有使用服务器应用程序/守护程序来提供策略文件。我知道我可以在crossdomain.xml 文件中指定权限,然后使用Security.loadPolicyFile(url) 来检索/应用权限。我的理解不正确吗?策略文件“服务器”是强制性的吗?
    • @James Ward:为了澄清,socket policy 文件与crossdomain.xml 文件相同吗?
    • 你不能使用'Security.loadPolicyFile(url)',因为玩家只会知道可以使用的HTTP协议,但是socket怎么样,他会问。所以,你必须服侍它,没有别的办法。你发送的内容是一样的,但不是文件(我一般是硬编码的),是服务器通过socket发送给客户端的一段信息。
    • @mindnoise:感谢您的澄清;我将编写一个脚本来侦听端口 843 并提供套接字策略。
    猜你喜欢
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多