0

当我通过 Visual Studio 的 2008 和我自己机器上的 php 网页以调试模式运行我的项目时,我正在使用一个 flex (3.5) 应用程序,该应用程序具有嵌入在与 C# asp.net 网站通信的 php 页面中的 swf一切正常。然后我将所有内容都移到了网络服务器上,现在它只是间歇性地工作,当它不工作时会在闪存日志中产生以下错误:

“错误:由于缺少策略文件权限,请求者从 /php-webpage/swf-file 对 /c#website 的资源请求被拒绝。”

我已经阅读了很多关于策略文件的内容,并且确实了解了它们的目的,但我不明白的是,如果我的 php 网页和 C# 项目托管在同一台服务器上,那么我不需要策略文件,因为我'没有跨域通信 - 我使用的是同一台服务器?

我在这里遗漏了什么还是只是误解了政策文件?如果不需要,为什么闪存日志会抱怨策略文件权限?

4

1 回答 1

0

@user1456312,我对 C# 服务器一无所知,但也许我可以给你一些想法来解决它。

在调试模式下,没有安全限制,所以没有问题。

在浏览器中输入url地址可以直接得到crossdomain.xml文件吗?

您将跨域文件放在哪里以及访问程序的 url 地址是什么?

您可以尝试以下跨域进行测试:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”&gt;
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
<allow-access-from domain="*" to-ports="*" secure="false"/> 
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

此文件不适用于生产,因为这意味着完全没有限制

Security.loadPolicyFile(url)必要时,您可以使用从服务器上的备用位置加载 crossdomain.xml 文件。

于 2012-06-14T17:12:51.173 回答