关于FLASH的防盗链

关于 FLASH的防盗链
 

由于在给客户处理FLASH在线视频想到关于视频的防盗功能。客户视频有三十多M,用于在线FLASH视频流播放。考虑到网站流量的问题,仅让这个视频只可以在该客户网站上观看。由于实现播放的SWF文件的内部已经有需要调用的FLASH流视频地址,基本上这个视频文件不太容易被弄出来。所以就是对于域名判断的问题。思路如下:

在场景第一帧为判断自己设定的网站域名是否包含在系统所取得的域名值之内。若设定的值不包含在系统所判断的值内,则确定当前的SWF文件不是调用的客户网站上的。则让当前指针跳过场景第二帧(即视频播放帧),进入错误判断帧第三帧。

第一帧代码如下:
if (_root._url.indexOf('inthesky.net') == -1) {
gotoAndPlay(3);
}
解释一下:我当前设定SWF正确播放网址必须在inthesky.net网站下,“_root._url”取得当前页面的URL,然后用"indexof"方法判断"inthesky.net"是否包含在当前在当前flash所在的域名下(因为flash如果在本站,那么地址一定包含有“inthesky.net”)。如果不包含,"indexof"会返回“-1”和等式匹配,则执行跳到第3帧的错误消息帧。如果包含,则顺序跳到第二帧(即视频播放帧)。

另外注意一下,第二帧、第三帧都记得在时间轴上给个stop();不然第二帧会顺序跳到第三帧...如果都没给stop();程序死循环可别怪我没提醒。。。:)


######################################

//如果在swf中写上如下代码来增加安全性的话
if ((_root._url.indexOf("http://www.flashcomguru.co... == 0) || (_root._url.indexOf("http://flashcomguru.com&qu... == 0) ){
gotoAndStop("niceone");
} else {
gotoAndStop("feckoff");
}
//这是远远不够的!
我们还需要:
设置配置文件中的
<Allow>yourdomain.com</Allow>.
/////////
如果有人把你的程序页放在一个frameset里时,
我们需要使用j avascript:

<script language="j avascript">
window.onload = function(){
if(parent.frames.length) parent.location.href = self.document.location;
}
</script>
////////////////////////
如果有人装载你的swf:
我们需要在swf中添加:
if(this._url.indexOf("mydomain.com") == -1){
getURL("dearStealer.html", "_self");
}
/////////////////////////
文章作者:Fernando

Flash文件防盗链小技巧
第一种方法(推荐用此种):
url = "http://www.yady.net";
if (_url.substring(0, 19) == url)
{
trace ("你的链接是充许滴!");
}
else
{
trace ("你的链接不充许滴!");
}

第二种方法:
var myUrl="www.yady.net";
if (_url.indexOf(myUrl)==1){
trace("欢迎你!");

}else{
trace("不欢迎你!");
}

var swfURL:String = _root._url ;
var yourDomain:String = "blueidea.com";
if(swfURL.indexOf("file://") != -1)
{
//弹出窗口
return ;
}
if(swfURL.indexOf(yourDomain) == -1)
{
//停止播放
}

防盗链 *最简单而常用的 方法 FLASH/视频软件

FLASH/视频软件最简单而常用的防盗链方法:
1、将 FLASH地址前缀加到flashpath.js文件里。内容为如下:
------------------------------
flashpathval="http://www.phome.net/flashpath/";
------------------------------
(说明:以后定时修改上面的目录,然后更改上面的地址前缀即可;你也可以把目录绑定到一个二级 域名,以后定时更换 域名。)

2、后台录入 flash地址只要输入后面的地址即可(把 flash传到上面的flashpath目录),则录入地址如下:
------------------------------
2006/dgcms.swf
------------------------------

3、在内容模板加上输出 flash播放的代码:(下面是假设把flashpath.js放在根目录)
------------------------------
<script src="/flashpath.js"></script>
<script>
document.write("<object classid=////"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000////" codebase=////"http://download.macromedia.com/pub/shockwave/cabs/ flash/swflash.cab#version=6,0,29,0////" width=////"[!--width--]////" height=////"[!--height--]////">");
document.write("<param name=////"movie////" value=////""+flashpathval+"[!--flashurl--]////">");
document.write("<param name=////"quality////" value=////"high////">");
document.write("<embed src=////""+flashpathval+"[!--flashurl--]////" quality=////"high////" pluginspage=////"http://www.macromedia.com/go/getflashplayer////" type=////"application/x-shockwave- flash////" width=////"[!--width--]////" height=////"[!--height--]////"></embed></object>");
</script>
------------------------------

最后说明:
1、上面只是针对 flash举例,同样通用于视频/mp3等文件的防盗。

2、有服务器的,可以设定flashpath.js文件不能下载与读取。这样别人就得不到你的 flash地址。

3、此方法与批量替换地址字段值方法相比,批量替换地址字段需要刷新页面,而此方法只需改flashpath.js文件的前缀,不需要刷新页面

 

---------------------------

 

FLASH自动判断域名然后……

 

  1. var urltime= setInterval(go, 5000);
  2. function go(){
  3. getURL("javascript:if((window.location.href).match(/www.idoloveyou.cn/) == null){window.location='http://www.idoloveyou.cn'}");
  4. clearInterval(urltime);
  5. }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值