绕过安全沙箱限制加载在线图片

在做项目的时候有遇到这个问题,相信也会有很多人遇到这个问题:

SecurityError: Error #2122: 安全沙箱冲突:http://×。com/test.swf 不能访问 http://www.qqaw.com.cn/544.jpg。需要一个策略文件,但在加载此媒体时未设置 checkPolicyFile 标志。

  或者是这样的问题:

Error #2044: 未处理的 securityError:。 text=Error #2048: 安全沙箱冲突:http://×.com/Test.swf 不能从 http://www.desk9.com/Desk9Image/12/795/46866_S.jpg 加载数据。

crossdomain.xml在服务器 和 根目录下都有配置 这让我很头疼。然后上网找,找到很多都是关于绕过限制的方法,但大多数的方法都是如下:

开始的代码:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,comHandler);
try{
    loader.load(new URLRequest(url),lc);
}catch(error:Error){
    trace(error)
};

  搜到的更正代码是:

var lc:LoaderContext = new LoaderContext();
lc.checkPolicyFile = true;
var loader :Loader= new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,comHandler);
loader.load(new URLRequest(url),lc);

 这里加了 LoaderContext 类  设置了checkPolicyFile 这个属性,由于ADOBE的安全机制,我们也不可能在其他域中去配置安全策略文件,所以我们可以通过这种方式来绕过安全限制。

查下API,http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/system/LoaderContext.html

大家可以查阅下。所以以下两行是可以去掉的

Security.allowDomain("*");
Security.loadPolicyFile("http://×.com/test/crossdomain.xml");

 

转载于:https://www.cnblogs.com/DeasonGuan/articles/2294781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值