解决”安全沙箱冲突”的第一种方法:是通过配置跨域文件来实现的,但因为作者未写明细节,所以看不出配置文件所在的域是A还是B。
刚才 load 一张网络上的图片,发现不能用 setMask 对其遮罩,trace 出现“安全沙箱冲突”。知道原因就好办了,调用不同域的对象或变量需要 allowDomain,如下:
System.security.allowDomain("www.zhugao.cn");
loadMovie("http://www.zhugao.cn/images/links/links_zhugao.jpg", my_mc);
注意,“www.zhugao.cn”和“zhugao.cn”不是相同域,根据目标而定。例如 loadMovie("http://player.zhugao.cn/***.jpg", my_mc); 那么 allowDomain 的应该是 player.zhugao.cn,而不是 zhugao.cn,也不是 www.zhugao.cn
如果要允许多个域,可以用逗号隔开:
System.security.allowDomain("www.zhugao.cn", "zhugao.cn", "player.zhugao.cn");
播放器在 8.0 以上可以使用通配符 “*” 来允许所有域:
System.security.allowDomain("*");
解决:”FLASH3.0安全沙箱” 问题的方法二:
利用JS脚本绕过安全沙箱(有待验证,如果可以也不失为一种体面的解决办法!)
Flash作为一种客户端的前台脚本技术,本来是不应该赋予更强大的功能的。
但是随着Flash技术的发展,目前已然能够读xml文件,载入多媒体内容,
甚至直接与服务器端进行Socket通信。
当然,这些还不够,Flash与js,Flash与Flash之间也已然实现了交互通信。
这样导致的结果就是带来了大量令人头疼的安全问题。
于是Flash在它的AS3.0里提出了安全沙箱这一概念。
在未经授权的情况下,Flash默认状态是不允许进行跨域通信的,这样就使得Flash的安全可靠性得到了提高。
可同时也带来了意想不到的麻烦:我制作了一个Flash,在页面中用js脚本控制as脚本,然后使用FlashCS3的发布功能发布了该Flash,
上传到网站上后,问题出现了,此时Flash无论执行任何访问外界的as脚本均会提示安全沙箱问题!
即使是打开链接地址也会出现警告!
解决的办法很简单,连我自己后来都觉得很诧异:将调用Flash的参数:allowScriptAccess的值改为always即可。
例如:<param name="allowScriptAccess" value="always" />
用js来控制Flash的安全访问?是不是有点自欺欺人?
解决”安全沙箱冲突”的方法三:使用Asp.Net绕过As3的跨域安全沙箱
完全的文件转发,以极低的效率来解决了问题,基本无实用价值.作者有大段的代码就没有全部复制,请根据上面引用详细阅读。
As3的SandBox这点上有点让人感觉非常郁闷。
如果要取不同域上的文件(比如歌曲,图片等),当对方服务器没有crossdomain.xml的时候就会出现安全沙箱错误。
这点有点郁闷。
中午午饭后,想到这个问题,于是用Asp.Net写了个Web Proxy。通过Asp.Net进行资源的转发,解决了跨域的安全沙箱问题。
不过这个东东会加大服务器的带宽和计算压力~
解决”安全沙箱”的方法四:一种猥琐的图片跨域的方法似乎是利用了Flex本身的疏漏来达到特定访问图片的方法,但由于作者代码的不完全,作为初学的我还无法完全理解他的思路,还请大家指教这个。
今天看到达达(ASFlex)的博文,关于跨域的问题,突然想起来我之前[原]淘宝店家起义篇。。。要做的实验之一,遂趁当前下班时间,在公司里写了一段测试代码。
果然是无法Draw的,在帮助文档已经明确的写了......................................
如何突破呢? 还是以后直接拿TextField来用?
以此标记,下回,改用AVM1+AVM2混合内容测试
目前方法是猥琐的抽出Loader来用
测试连接:
www.xintend.com/temp/icd/index.html
有兴趣的同学可以去玩下~~ 图片可以拖动~~~~~~~
核心 代码部分:
01. function handleLoadBtn():void {
02. var s:String = urlInput.text;
03. var ht:String = "<img src='";
04. if (s.length > 0) {
05. ht += s;
06. ht += "' ";
07. ht += "id='image'>";
08. tf.htmlText = ht;
09. output.text = ht;
10. output.text += "\n";
11. output.text += tf.getImageReference("image");
12. var c:DisplayObject = tf.getImageReference("image"); 1
3. ui.addChild(c);
14. output.text += "\n ui.addChild(c);";
15. }
16. }
解决本地的安全沙箱,我本地测试的时候倒没遇到过!
经常在本机调试flash的时候,会报安全沙箱问题,除了去adobe的网站(www.macromedia.com/suppor ... ings_manager04.html)上添加本机的目录外,还可以有一种更简单的办法,
在C:\windows\system32\Macromed\Flash\FlashPlayerTrust 下面,添加一个txt文件,例如songhuan .txt,然后在里面添加你的本机的目录,例如f:\songhuan\ 或者c:\都可以。以后在哪里报错了,就在这个文件里添加路径就可以了。
分享到:
相关推荐
java ,c#,delphi 解决flash安全沙箱问题 聊天室
flash安全沙箱汇总。从网上摘录的东东。
NULL 博文链接:https://yangkd548.iteye.com/blog/653364
本程序为绿色mini服务程序 程序会自动打开Flash默认的843端 自动将crossdomain.xml返回给flash客户端 您可以修改crossdomain.xml中的内容,大小不要超过10K 有问题可email我
本程序为绿色mini服务程序 程序会自动打开Flash默认的843端口 自动将crossdomain.xml返回给flash客户端 您可以修改crossdomain.xml中的内容,大小不要超过10K
AS3 安全沙箱处理集合,一种方法不行用第二种,多种方式总有一种适合你,我也是花了一周时间来处理这个问题,终于解决了,为了方便大家处理这个问题,在此打包供大家下载处理
FLASH PLAYER使用安全沙箱来定义各个FLASH应用程序可以访问的操作的范围,即他们可以访问哪些资源。 各个沙箱的所有内容由利益相关方安全控制,包括文件请求,本地数据存储(共享对象)以及特定域及其内容所使用的...
在Adobe Flash Player升级到9.0.124后,由于安全策略更改,原来Socket或XmlSocket的应用里的http方式加载安全策略的手段不能继续使用。更改如下: 1,首先检测目标服务器的843端口是否提供安全策略 2,如果1没有检测...
第28章flash网络应用程序沙箱安全和部署定义.pdf
写的一款组件·在服务器上运行可解决flash通信问题
全面讲述了Flash安全的相关问题,包括: 1. FLASH沙箱 2. flash攻击方法 3. 如何写安全的flash代码 4. flash跨域 5. flash的安全部署 6. flash嵌入页面需要注意的问题
火狐浏览器崩溃怎么办,Flash沙箱安全模式帮你轻松解决.docx
当a.com中的flash要访问b.com中的资源(如图片等)时,flex会提示安全沙箱错误!
c#与flash进行socket通信,使用安全沙箱
flash使用socket安全沙箱问题,需要建立安全策略服务器,java完成的一个jar,建立安全策略服务器,需要servlet-api.jar
读懂flash应用程序域的用法,体会安全沙箱机制。
(*Chrome 21使用新的PPAPI类型Flash Player插件,由于其安全沙箱特性,无法在本地进行访问,因此需要在互联网或IIS等虚拟站点测试运行。禁用PPAPI使用NPAPI类型的Flash Player插件后可在本地测试运行。查看插件请在...
自己写的flash webgame 搭建的java 后台 解决了安全沙箱问题,可以进行聊天,和后台java函数的请求及响应。amf3 编码。
跨脚本访问不同安全沙箱中的内容 第章:为AIRHTML容器编写脚本 HTMLLoader对象的显示属性 滚动HTML内容 访问HTML历史记录列表 设置在加载HTML内容时使用的用户代理 设置用于HTML内容的字符编码 为HTML内容定义类似于...
看来flash的安全沙箱没有限制将内容复制到剪贴板 但是也是有限制的: 1 根据ZeroClipborad的人们说,这些flash必须通过网络加载。 Zero Clipboard Does Not Work From Local Disk This is a security ...