Flash跨域解决
1,场景描述 项目部署在两个不同的域上,分为app项目 和 repository项目 简称 A 和 R 。 在A上使用jquery uploadify 做上传,远程连接到 R上,因为表单是属于 A 域的 ,flash swf 这样的上传存在沙箱安全问题,不允许直接上传到 R上进行操作。 2,解决办法 项目是部署在 tomcat下的,找到tomcat的部署文件,webapps/ROOT 在这里加入 一个 crossdoamin.xml文件 文件内容:
<?xml version="1.0" encoding="UTF-8"?> <!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="*" /> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy> 3,详解 crossdomain.xml 是 Adobe提出的flash swf 跨域解决方案。 <allow-access-from doamin="*"/> 表示允许任意域的请求在本域提取数据,其中 * 可为域名可为 ip,当为ip时不允许使用通配符,为域名时 最后必须以 .xx结尾 如 aa.com 自动匹配 *.aa.com 另外如果crossdoamin.xml位于 https服务器时,建议将请求域配置成Https 。 强烈不建议开启 <allow-access-from domain="*" secure="false"/> secure 默认为true。
<allow-http-request-headers-from domain="*" headers="*"/> 允许向本域中发生request 头信息。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |