`
luckyjaky
  • 浏览: 111709 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于安全沙箱的问题

阅读更多
一、概述

位于www.mzwu.com域中的SWF文件要访问www.163.com的文件时,SWF首先会检查163服务器目录下是否有crossdomain.xml文件,如果没有,则访问不成功;若crossdomain.xml文件存在,且里边设置了允许www.mzwu.com域访问,那么通信正常。所以要使Flash可以跨域传输数据,其关键就是crossdomain.xml。

二、crossdomain.xml文件格式

crossdomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。下边是两个例子:



程序代码
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="www.friendOfFoo.com" />
  <allow-access-from domain="*.foo.com" />
  <allow-access-from domain="105.216.0.40" />
</cross-domain-policy>




程序代码
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>


第二个例子允许任何域的访问。对于crossdomain.xml文件存放位置,建议将其存放于站点根目录中!


具体解决办法:
在站点根目录下新建一个xml文件,里面内容为:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>
这个xml文件跟随网站一起发布就可以了!
分享到:
评论
1 楼 tanyun1111 2009-07-12  
你好,我做了个用swfupload测试跨域上传:
环境:jsp+tomcat5.5+swfupload2.2.1,局域网内两台电脑192.168.1.33,192.168.1.37,端口都是8080
部署:37机子上部署web,同时在根目录下放置crossdomain.xml文件,内容:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>
然后我在33机子上跨域上传图片到37上,upload_url: "http://192.168.1.37:8080/tyf2/ajax/updatePreviewImg1.do"
但是提示:Error Code: -230,也就是安全问题不让访问37。
我现在都搞不清错在哪?

相关推荐

Global site tag (gtag.js) - Google Analytics