AS3获取当前URL地址以及防盗链

前阵子弄了个小游戏,然后想着像以前那样加个防盗链的功能(其实到最后也都没加,小破游戏会有谁来链啊),不过在这里可以讲讲实现的方法。

一般来说FLASH防盗链的手法都是获取当前的URL地址,然后跟事先指定的一个URL进行比对。获取当前URL的方法非常简单,有下面这句就可以了
loaderInfo.url
获取到了当前的URL那就好办事啦,一般说来一个域名都有带WWW或不带,所以一般需要预设两个URL地址。

1
2
3
4
5
6
7
8
var url:String = "http://www.moondyzone.com";
var url2:String = "http://moondyzone.com";
//substring(0, 25)就是取前25个字符进行比较;
if ((loaderInfo.url.substring(0, 25)==url) || (loaderInfo.url.substring(0, 21)==url2)) {
//随便你写什么了。
} else {
//也是随便你写什么了。
}

相关文章

Moondy 发表于 2009-1-2 2,290 Views | 类别: Flash/AS3

7条留言 立即发表评论

  1. #1天天天 @ 2009-5-22 10:19 回复

    :icon37 感谢分享 已收到

  2. #2Moondy @ 2009-5-22 15:17 回复

    客气了,欢迎常来! :icon07

  3. #3Varvery @ 2009-8-27 17:36 回复

    有N个二级域名的话就麻烦了….

    • Moondy @ 2009-8-27 19:22 回复

      的确会麻烦些,这个嘛,写个正则来匹配一下还是能解决的,呵呵。

  4. #4hiheng @ 2009-9-17 10:12 回复

    实际上这个方法,是不能防止盗链的。

    别人盗链该FLASH的时候,路径没有变,所以依然可以匹配

    • moondy @ 2009-9-17 20:01 回复

      这是经过亲测的,loaderInfo.url获取的是加载此FLASH的URL,而不是FLASH本身的路径。当然,只防君子不防小人了

  5. #5Tim @ 2010-5-19 12:10 回复

    感谢分享 已收藏

评论

:icon07 :icon02 :icon16 :icon23 :icon37 :icon05 :icon38 :icon35 more »
(Ctrl + Enter)