flash的externalinterface.call及js与swf交互域名安全测试
2013-03-28 16:49
423 查看
在编写flash跨域插件时,发现可以在不同父域名的页面加载其它页面swf,如果里面使用到externalinterface.call话,好像是没有任何限制,swf是可以直接使用任何域名的js,就算swf是a.com,html是b.com也可行.
没有深入了解js与as互相交互的安全规则,
为了不想让别域名使用我的swf,我想到的方法是,在swf中判断html的域名,来限制别人使用.如果发现,就不加载需要的功能即可.
as判断代码
var domain = getHtmlDomain();
if (!domain || !/^(.+\.)?chinahrd\.net$/i.test(domain)) {//只允许chinahrd.net域数据
var tip = '只允许父域名是chinahrd.net的页面使用flash跨域插件fajax,你的域名是:' + domain;
ExternalInterface.call('alert', tip);
trace(tip);
return;
}
private function getHtmlDomain():String{
var domain = '';
try {
domain = ExternalInterface.call('(function (){ return document.domain;})');
} catch (e:Error) {
domain = '';
}
return domain;
}
没有深入了解js与as互相交互的安全规则,
为了不想让别域名使用我的swf,我想到的方法是,在swf中判断html的域名,来限制别人使用.如果发现,就不加载需要的功能即可.
as判断代码
var domain = getHtmlDomain();
if (!domain || !/^(.+\.)?chinahrd\.net$/i.test(domain)) {//只允许chinahrd.net域数据
var tip = '只允许父域名是chinahrd.net的页面使用flash跨域插件fajax,你的域名是:' + domain;
ExternalInterface.call('alert', tip);
trace(tip);
return;
}
private function getHtmlDomain():String{
var domain = '';
try {
domain = ExternalInterface.call('(function (){ return document.domain;})');
} catch (e:Error) {
domain = '';
}
return domain;
}
相关文章推荐
- 如果FLASH的ExternalInterface.call无法正常工作,请确认启用了设置 local-trusted 安全沙箱
- 请注意,如果FLASH的ExternalInterface.call无法正常工作,请确认启用了设置 local-trusted 安全沙箱
- 使用ExternalInterface.call方法,出现js错误(解决方法)
- 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单
- Flash 与 JavaScript的交互:JS与SWF的通讯方式
- 【微信支付】公众号、商户基础配置和流程(包括设置支付授权目录、测试支付目录和白名单、JS接口安全域名、授权回调域名等)
- Flash中ExternalInterface.call返回null
- [AS3]flash通过ExternalInterface.call方法来获取当前URL地址
- import flash.external.* Flash与JS交互
- ExternalInterface.call和addCallcack在不同环境下的测试!
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- *** 安全沙箱冲突 *** 到 127.0.0.1:9999 的连接已停止 - 不允许从 file:///E:/flash/Flash/Vod/tag/Letvcloud__MainVodNew/bin-debug/Player.swf 进行连接
- [原]as3 flash web 应用 (5)js与flash的交互
- js与flash的交互FLASH连播控制器
- flash和js交互在项目中的应用
- 微信开发-业务域名、JS接口安全域名、网页授权域名
- 微信JS接口安全域名 config:invalid url domain
- 使用swfobject.js调用flash,使flash背景透明的方法
- flash与js交互方法
- flash与js交互方法