我已经阅读了很多关于flash播放器的新策略策略,并且还知道主策略文件。 现在想象以下情况: 有两个服务器(http)在自定义端口运行
现在我打开一个想要访问serverb服务的服务器a(例如,servera.com:2222/websiteA/A.swf)的swf。 当然我需要在正确的位置使用crossdomain.xml,并且可能存在多种变体。 我不想使用主策略文件,因为我可能无法控制两个服务器的根目录。
我找到的一个解决方案适用于以下交叉域:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
在serverb.com:3333/websiteB/crossdomain.xml
现在我的问题:
是否有可能摆脱"*"
并在allow-access-from规则中使用适当的(而不是通用的*
)域名?
我所有的尝试都失败了,从我的理解应该是可能的。
答案 0 :(得分:1)
尝试:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*.servera.com" to-ports="3333"/>
</cross-domain-policy>
(您可能还必须为from域指定端口 - 我不需要在一段时间内处理w /跨域w /端口。
答案 1 :(得分:0)
对跨域策略文件要非常小心。如果您使用的是cookie身份验证,或者如果serverb.com位于内部网络上,那么您不应使用跨域策略。或者,您可以在servera.com上使用代理服务器来代理对serverb.com的请求。这样可以避免跨域请求。
您还应该使用包含以下内容的mm.cfg文件设置日志记录:
ErrorReportingEnable=1
TraceOutputFileEnable=1
PolicyFileLog=1
PolicyFileLogAppend=1
这会将错误记录到文本文件中。查看更多details on setting up the mm.cfg file。