flash安全策略文件crossdomain.xml详解
crossdomain.xml简单来说:是配置在站点上用来准许flash与站点数据交互的安全文件。
一个例子:
保存为:crossdomian.xml文件保存在 站点的根目录。
如果不保存在根目录,建议flash在代码里面添加 强制加载路径 Security.loadPolicyFile("http:// localhost:8080/文件1 /crossdomain.xml");
来说明下那个XML表达的意思
1 allow-access-from domain 准许某些域名的来自 例如 * 为任意,*.4yue.net 是表示 前面的泛域名下
2 allow-http-request-headers-from 准许某些域下 对http headers的修改 headers="*"就是任意修改
3 site-control策略配置为可加载本服务器中其它的text/x-cross-domain-policy文件作为跨域策略文件。
如果你的服务器没有web服务,只有一些后台程序的话,可以单独开放个843端口,
每当收到flash socket端发来策略文件请求的标识:"<policy-file-request/>\0"
返回上述XML文件内容一样能达到安全沙箱的目的。
最后扫盲下:在swf里面写上 System.security.allowDomain("*") 这句话是准许任意域下的swf调用自己的swf脚本、变量什么的,很显然跟上述策略文件的方向相反。我看到很多flash程序都为了解决上面的问题居然加上了这句话,很显然很危险的行为。出现这种错误思维的程序很多包括 腾讯的一些牛逼公司的程序。
例如:System.security.allowDomain("×.4yue.net") 表示准许 4yue.net下的swf调用我的当前swf.
本文固定链接: http://www.4yue.net/post-37.html
发表评论