Apache flex 使用crossdomain.xml访问URL时发生闪存安全错误
我最近在服务器上部署了一个Flash应用程序,现在在发出HTTPService请求时遇到错误。我已经将我认为最允许的crossdomain.xml放在wwwroot文件夹中,但仍然得到了错误 有趣的是,只有当用户通过直接交互(即点击按钮)发出请求时,才会出现错误。应用程序发出其他通过其他方式(即creationComplete)发起的请求,并且它们似乎按照预期工作 有人认为crossdomain.xml有什么问题,或者有其他建议吗 错误消息 [RPC Fault faultString=“访问url时发生安全错误”faultCode=“Channel.Security.error”faultDetail=“Destination:DefaultHTTP”] 在mx.rpc::AbstractInvoker/ 在mx.rpc::Responder/fault()处 在mx.rpc::AsyncRequest/fault()处 在DirectHTTPMessageResponder/securityErrorHandler()上 at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() 在flash.net::urloader/redirectEvent()上Apache flex 使用crossdomain.xml访问URL时发生闪存安全错误,apache-flex,flash,actionscript-3,security,Apache Flex,Flash,Actionscript 3,Security,我最近在服务器上部署了一个Flash应用程序,现在在发出HTTPService请求时遇到错误。我已经将我认为最允许的crossdomain.xml放在wwwroot文件夹中,但仍然得到了错误 有趣的是,只有当用户通过直接交互(即点击按钮)发出请求时,才会出现错误。应用程序发出其他通过其他方式(即creationComplete)发起的请求,并且它们似乎按照预期工作 有人认为crossdomain.xml有什么问题,或者有其他建议吗 错误消息 [RPC Fault faultString=“访问u
您需要小心处理这些跨域策略文件,因为它们可能会打开一些严重的安全漏洞。在使用cookie或基本身份验证的站点上,您不应使用*策略,也不应在intranet服务器上使用*策略 要避免这些安全问题并使其正常工作,最简单的方法是确保加载SWF的URL和向其发出请求的URL是相同的协议、主机名和端口(如果指定)。如果它们不同,那么您应该考虑使用代理,使它们相同。BlazeDS或Apache ban可以轻松设置为代理。试试这个 用记事本打开配置文件 代替 http://servername/arcgis/rest/services/BaseMap/MapServer/# 具有
http://serverip/arcgis/rest/services/BaseMap/MapServer/#您能详细说明为什么收紧crossdomain.xml如此重要吗?似乎除了使用flash之外,还有很多更简单的方法来尝试攻击某人的服务器……这就是为什么它很重要:啊,好吧,因为AJAX不允许跨域脚本
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" secure="false" />
<allow-http-request-headers-from domain="*" headers="*" secure="false" />
</cross-domain-policy>