Discuz教程网

Discuz上传图片附件提示security error错误的解决办法

[复制链接]
authicon dly 发表于 2015-7-9 17:49:00 | 显示全部楼层 |阅读模式
这个问题是部分用户修改过flash跨域策略文件crossdomain.xml导致的

AS3的跨域名调用数据,比如调用xml,swf,jpg,png,gif等等,都会涉及到跨域策略文件crossdomain.xml,这个文件是什么?用来做什么的?以淘宝为例,打开淘宝的http://www.taobao.com/crossdomain.xml中可以直接看到以下内容,下面就看一下淘宝的这个例子:
  1. <?xml version="1.0"?>
  2. <cross-domain-policy>
  3.     <allow-access-from domain="*.taobao.com" />
  4.     <allow-access-from domain="*.taobao.net" />
  5.     <allow-access-from domain="*.taobaocdn.com" />
  6.     <allow-access-from domain="*.tbcdn.cn" />
  7. </cross-domain-policy>
复制代码

  以上,这就是跨域策略文件,allow-access-from domain表示允许访问的URl,如果有多个依次添加,如果允许所有就一个 allow-access-from domain = "*"就可以了。
这个例子的意思中,<allow-access-from domain="*.taobao.com" />意思是:允许淘宝其他子域名的flash调用www.taobao.com中的数据。
  crossdomain.xml文件一般存在于网站中根目录。
  flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及允许从什么地方跨域读写数据。
  位于 www.cuplayer.com 域中的SWF文件要访问 www.b.com 的文件时,SWF首先会检查 www.cuplayer.com 服务器目录下是否有 crossdomain.xml文件,如果没有,则访问不成功;若crossdomain.xml文件存在,且里边设置了允许 www.cuplayer.com 域访问,那么通信正常。所以要使Flash可以跨域传输数据,其关键就是crossdomain.xml。
  allow-access-from:通过检查该节点的属性值,确认能够读取本域内容的flash文件来源域。
  allow-access-from标签有三个属性:
  ·domain:该属性指定一个确切的 IP 地址、一个确切的域或一个通配符域(任何域)。只有domain中指定的域,才有权限通过flash读取本域中的内容。
  可采用下列两种方式之一来表示通配符域:
  1)单个星号(*),如:<allow-access-fromdomain="*" />,表示匹配所有域和所有 IP 地     址,此时任何域均可跨域访问本域上的内容。[这是极不安全的!]
  2)后接后缀的星号,表示只匹配那些以指定后缀结尾的域,如*.qq.com可匹配  game.qq.com、qq.com。形如www.q*.com或www.qq.*的为无效配置。
  Tips:当domain被指定为IP地址时,只接受使用该IP作为网址来访问的来源请求[此时ip地址也就相当于一个域名而已],如domain被设置为192.168.1.100时,使用http://192.168.1.100/flash.swf来请求该域内容是允许的,但是使用指向192.168.1.100的域名www.cuplayer.com来访问时http://www.cuplayer.com/flash.swf将会被拒绝,因为flash不懂得dns解析)



上一篇:[深蓝]云社区 云社区 2.2 价值199元(2015.03.31更新)
下一篇:版块限时开放 1.0 价值50元(2013.04.19更新)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-4-29 07:31

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表