几种访问其他域swf文件,或本地浏览器运行环境【安全沙箱】冲突解决方法

声明:

几种方法都源自网络,我只负责汇总一下子,因为来自多方转载,也找不到初始出处了,需要的可以随意收藏,物尽其用,蛮好^_^

对于类似的出错信息:
SecurityError: Error #2148: SWF 文件 file:///F:/work2010/tiger/rmpublisher.air/bin-debug/index.swf 不能访问本地资源 file:///F:/work2010/tiger/rmpublisher.air/bin-debug/plugins/plugins.xml。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。
at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at com.edlt.utils::Settings/loadSettings()
解决方法:

第一种:

flex项目上点右键-->properties-->ActionscriptCompiler-->Additional compiler arguments 
加上“ -use-network=false ”,这种方式swf就无法访问网络资源了,比如socket通讯之类的。所以最好不要这样用。

第二种:

找到windows安装目录下system32/Macromed/Flash/FlashPlayerTrust,在这个目录下随便建个文本文件,在文件里输入需要访问本地资源flash的详细路径,保存。执行swf,不再出错了。OK

如:在C:/WINDOWS/system32/Macromed/Flash/FlashPlayerTrust目录下添加一个文件,比如:1.txt(文件名可任意起),文件内容为:“D:/demo/test/”即项目的路径,当然也可以设置为“D:/”。需要关闭浏览器这种设置才会生效,因为如果浏览器正在运行,Flash player 已经读取了FlashPlayerTrust的内容,新的设置不会生效。参考http://kb2.adobe.com/cps/518/cpsid_51814.html。

第三种:
如果让一个swf可被其他域访问,使用 flash.system.Security.allowDomain(),flash.system.Security.allowInsecureDomain()。参数设置为“*”可以让所有的域能够访问它。

第四种:

在Flash插件上右键->全局设置->高级->开发人员工具->受信任的位置设置->添加 ,然后添加你的文件或者文件夹即可。

说明:在本地测试期间,Flash Player 可以显示阻止应用程序正常运行的安全警告。您可以使用“受信任位置设置”面板将您自己的 SWF 或 FLV 内容指定为可信内容,从而解决这一问题。您可以将个别文件的路径指定为可信路径,或者指定文件夹为可信文件夹。可信文件夹中的所有文件及其任何子文件夹也会受信任。使用此选项卡可指定您计算机上包含您信任的 SWF 或 FLV 内容的位置。可信内容不遵循阻止内容访问 Internet 和本地计算机文件系统的安全规则。

注意上面路径,选择添加的时候要确认一下是否识别正确,最后【file://省略... 】这个路径是对的(手动输入),上面路径都识别的有问题,因为这个我纠结了N天,希望大家不要重蹈覆辙啦^)^

第五种:
使用策略文件:内容可以是ip,域名,*。
<?xml version="1.0"?>
<!-- http://www.mydomain.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="www.otherdomain.com" />
<allow-access-from domain="*.adobe.com" />
<allow-access-from domain="123.45.67.89" />
<allow-access-from domain="*" />
</cross-domain-policy>
再使用 flash.system.Security.loadPolicyFile() 读取这个策略文件。这种方式是最灵活,最安全的方式。

时间: 2024-11-09 04:27:31

几种访问其他域swf文件,或本地浏览器运行环境【安全沙箱】冲突解决方法的相关文章

MyEclipse打开JSP文件报&quot;Failed to create the part&#39;s controls&quot;解决方法汇总

我把HTML代码放到JSP中的,昨晚还能用,今天就打不开了,在网上找了半天解决方法,总算解决了. 图片分享: 方法1. 在"开始"-->"运行"---->"cmd"进入命令提示行后,再进入myeclipse安装目录的eclipse文件夹,然后输入myeclipse -clean即可 方法2. 找到myeclipse安装目录的configuration文件夹删除除config.ini以外的所有文件(记得备份),重启myeclipse.

asp.net 文件上传出错:Maximum request length exceeded 解决方法

<configuration>    <system.web>               <httpRuntime maxRequestLength="102400" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="10

解压tar.gz文件报错gzip: stdin: not in gzip format解决方法

解压tar.gz文件报错gzip: stdin: not in gzip format解决方法 在解压tar.gz文件的时候报错 1 2 3 4 5 [[email protected] Downloads]$ tar -zxvf clion-141.351.4.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now 原来原因是这个

MyEclipse打开JSP文件报&quot;Failed to create the part&#39;s controls&quot;解决方法

HTML代码放到JSP中的,打不开了,在网上找了半天解决方法,总算解决了. 方法1. 在"开始"-->"运行"---->"cmd"进入命令提示行后,再进入myeclipse安装目录的eclipse文件夹,然后输入myeclipse -clean即可 方法2. 找到myeclipse安装目录的configuration文件夹删除除config.ini以外的所有文件(记得备份),重启myeclipse. 方法3. 找到myeclipse安

jxl读取excel文件异常:Unable to recognize OLE stream 的解决方法

问题成因 使用jxl方式读取,可能只能支持xls格式的文件,对于xlsx格式就不再支持 如果是从网站导出的excel文件,有的网站比较坑,导出的并不是标准格式的excel,而是将html改扩展名为xls的“伪”excel文件.当用excel打开这类文件时,会弹窗提示其“扩展名和文件类型不匹配”是否还要打开. 而且,使用文本编辑器打开,会发现这个所谓xls文件其实是xml标签的文件. 解决方法 在excel中打开,另存成xls就可以. 但当文件比较多时,可以使用excel vba批量另存. 第一种

MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

问题描述: 前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易. 也上网查了很长时间,没一个方法能解决我的问题的.特记下解决方法,希望能帮到像我这样的web刚入门者. (刚入门,肯定有说的不对的地方,有错也希望能指出来,我改正) 前期操作:导入项目后clean,install,update,中会报错(因为我已经解决了,所以没有×). 两问题对应解决方法: 1.pom文件第一行大红叉,说明是项目的文件指

关于上传文件时,提示控制台信息存取失败的解决方法

 如下图所示,用户在上传文件时,提示控制台信息存储失败,无法继续操作. 1.原因分析: ①上传服务异常,可能是数据中心的传服务出现异常 ②查看相关日志,可能的原因,一般是读取加密狗失败,或者服务器IIS未允许ISAPI和CGI限制. 2.根据上述分析,解决方法如下: ①数据中心快速检测:浏览器输入http://IP/viewgood_dcs ②上传服务快速检测:浏览器输入http://IP/viewgood_cdn/1.cdn 总结,在产品正常的使用过程中,难免会遇到各种大大小小的问题,尤其

laravel 迁移文件中修改含有enum字段的表报错解决方法

解决方法: 在迁移文件中up方法最上方加上下面这一行代码即可: Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); 例如: public function up() { Schema::getConnection()->getDoctrineSchemaManager()->getDa

在MFC中通过访问IP地址下载文件到本地

void CDownLoad::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CDialogEx::OnOK(); UpdateData(TRUE); CString sPath = m_savePath;//下载文件的保存地址 CString m_theUrl = m_ipPath;//下载的网址 CString filename = sPath + (_T("11.mdb"));//下载文件的保存名 CInternetSession sessi