打开网页出现“安全沙箱冲突”的提示

本文详细介绍了Flash中安全沙箱的概念及其带来的问题,并提供了多种解决方案,包括配置跨域文件、利用JS脚本等方法。

文章转自网络:

为了满足安全要求,Flash在它的AS3.0里提出了安全沙箱这一概念,在未经授权的情况下,Flash默认是不允许进行跨域通信的,这样使得Flash的安全可靠性得到了提高,同时也带来了一些问题。

  解决“安全沙箱”问题的方法,如果你是在制作和在网页上发布flash,所需要的是调整flash参数allowScriptAccess的值改为always,如<param name="allowScriptAccess" value="always" />,还有一种是说设置安全站点;但就普通用户而不是开发者而言,处理此类flash安全沙箱问题,直接的方法就是重新安装flash插件:可以先进入控制面板-添加删除程序,卸载原有的flash插件,再到www.adobe.com官方网站下载安装新版的flash插件,或者直接去相应网站,如在线视频网站,自动安装对应插件。

http://www.adobe.com/go/strict_policy_files_cn 以解决此问题。
A:策略文件有错误 CrossDomain.xml
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.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>
PS:加载方式 Security.loadPolicyFile("http://myDomain/crossdomain.xml");
策略文件放在被加载者服务器根目录(在提供数据的站点放入一个crossdomain.xml文件)
个人理解:所有网络上的资源除非是服务器限制,我们都可以加载,只是无法对其进行数据的操作,如果需要操作这些数据,就需要在服务器上放置策略文件。(eg:如果需要对图片进行像素级操作,那就在服务器上放策略文件)
再次PS:如果策略文件不在根目录,需要用 Security.loadPolicyFile(filepath); 方法加载安全策略文件
//++++++++++++++++++++++++++++ 对加载者进行权限操作 (applicationDomain)
SecurityError: Error #2119: 安全沙箱冲突:调用者
http://cs4165.vkontakte.ru/[[IMPORT]]/xn.smoothfish.cn/fish_xn/main.swf?lang=ru&pid=0&apiID=1716287&mode=0&version=2027 不能访问 http://xn.smoothfish.cn/fish_xn/items.swf 拥有的 LoaderInfo.applicationDomain。
at flash.display:loaderInfo/get applicationDomain()
at cafe.util::CClass$/getClass()
at cafe.map::CLayerLoading/showCookResLoading()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at cafe.main::main/getResLoading()
at cafe.main::main/loadCompleteHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at cafe.load::CLoad/load()
at cafe.load::CLoad/loadStartHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at cafe.load::CLoad/loaderCompleteHandler3()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at cafe.load::CLoadAbstract/finish()
at cafe.load::CLoadConfig/loadConfigHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
在被加载者SWF内写入
Security.allowDomain("*");// 注意,"www.baidu.com" 和 "baidu.com"不是相同域,多个域 用逗号隔开
PS:security.allowDomain ("*") 与跨域加载资源其实是两回事
有security.allowDomain ("*")标注的Flash文件 只表示成功加载此的容器可以对它进行所有权限的操作
//++++++++++++++++++++++++++++
//为true的时候,先下载策略文件( 指定 Flash Player 在加载对象前是否应检查跨域策略文件是否存在)
var lcoaderContext = new LoaderContext(true);
//var loadercontexoaderContext = new LoaderContext(false, new ApplicationDomain(), SecurityDomain.currentDomain);
var context:LoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
context.securityDomain = SecurityDomain.currentDomain;
loader.load(url,context);
//++++++++++++++++++++++++++++
解决flash安全沙箱的几种方法总结
1。配置跨域文件来实现
System.security.allowDomain("www.baidu.com", "baidu.com", "mp3.baidu.com");
2。利用JS脚本绕过安全沙箱(已验证)
<param name="allowScriptAccess" value="always" />
3。使用Asp.Net绕过As3的跨域安全沙箱完全的文件转发,以极低的效率来解决了问题,基本无实用价值
4。本地安全沙箱:在C:\windows\system32\Macromed\Flash\FlashPlayerTrust 下面,添加一个txt文件,例如songhuan .txt,然后在里面添加你的本机的目录,例如f:\crayon\或者c:\都可以。

### 支付宝沙箱环境 404 错误解决方案 当在支付宝沙箱环境中遇到页面未找到 (404 错误) 的情况时,可能的原因涉及多个方面,包括配置错误、网络问题以及沙箱环境本身的限制。以下是针对该问题的具体分析和解决方法: #### 1. **确认沙箱环境 URL 是否正确** 需要确保使用的沙箱环境地址是官方提供的最新版本。如果使用了过期或不正确的链接,可能会导致 404 错误。通常情况下,支付宝沙箱环境的访问地址应类似于 `https://openapi.alipaydev.com` 或其他由官方文档指定的路径[^2]。 #### 2. **检查应用配置是否完整** 应用程序中的配置文件需严格按照官方指南设置。例如,在接入沙箱环境前,必须正确填写以下参数: - App ID - 商户私钥 - 支付宝公钥 如果上述任意一项缺失或者错误,可能导致请求失败并引发 404 错误。此外,还需要注意签名算法的选择(如 RSA2),这直接影响到请求的有效性[^3]。 #### 3. **验证 API 调用方式** 对于某些特定场景下的调用,比如 H5 支付跳转至网页端完成支付操作时,前端代码需要按照规定格式拼接 URL 参数,并附加必要的签名信息。缺少任何一个字段都可能造成目标服务器拒绝响应从而显示找不到资源的消息框提示用户发生异常状况[^4]。 ```java // 示例:生成带签名参数的URL String orderInfo = alipayService.createOrder(orderId, amount); response.sendRedirect(orderInfo); // 将带有完整参数的订单详情页url发送给客户端浏览器打开新窗口加载处理逻辑实现最终付款动作。 ``` #### 4. **排查防火墙与代理设置冲突** 若本地开发机器存在安全软件拦截外网通信行为,则同样会造成此类现象;另外如果是通过公司内部局域网上网的话还可能存在企业级路由器规则阻止正常流量传输过去的情况所以建议临时关闭所有防护措施后再尝试一次看看效果如何变化再做进一步判断决定下一步行动方向是什么比较好一点呢? --- #### 总结说明 综上所述,对于出现“支付宝沙箱环境页面未找到”的情形可以从以上几个角度逐一核查直至定位根本原因所在为止。同时也要留意官方论坛是否有类似反馈记录可供参考借鉴以便快速解决问题提高效率减少时间成本浪费哦!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值