身为一个网站管理人员,防盗链这个任务实在是任重而道远呀。不说别的,如果不控制,每天的流量可能就会刷刷刷的往上涨,可实际情况呢?根本没有人来浏览。这还不是最重要的,最重要的是这些流量占用了大量带宽,影响了其他人的正常浏览。长此以往,来浏览的人就更少了,再最后就造成恶性循环,网速越慢,来看的人越少,来看的人越少,被下载的机会就越多,也就导致打开网页更慢。
作为一个非下载性网站,防盗连实在是有一些必要,这里我也不谈很多,毕竟防盗链也是一门很高深的技术,我只能随便谈谈。
技巧没有多少,稍谈一点
1、利用SESSION机制,判断该用户的session存在多久?如果是刚生成的,则不让下载
2、COOKIE机制,如果是正常浏览网页,那么生成一个COOKIE,然后才允许下载
3、检查客户机的agent,不过这个很不准确,大多数下载工具都会伪造一个头
4、referer,这个嘛。。。黑黑,表面上有用,其实也没啥用,很明显,下载工具也一样会伪造
5、即时readfile下载,这个会有一点问题,如果东西不大,那是无所谓,如果东西很大,那问题就来了,不能断点续传,也不能使用下载工具。一旦下载失败就不得不重来
6、输入密码。。。象某些网站的提取码之类的
7、用组件,IIS上有现成的防盗链组件,直接可以使用,限制好特定的文件后缀名就行了
8、验证码,这个和输入密码下载有点类似,不过现在很多程序都会自动识别验证码,但下载工具好象还没有这个功能,可以尝试
9、通过邮件机制发送,而不是直接给出下载链接(但很有可能没有办法在网上显示相关内容)
10、无耻的生成BT种子,你们想怎么玩就怎么玩吧。
11、定期按规则更改文件名,或者是链接。。。但不知道那些下载工具是否会自动判断文件的MD5?或者在下载前先判断文件MD5?应该不可能,所以还是值得尝试一下,写个函数,对于下载链接的URL可以定时更换。
12、更改资源内容(这个是看别人的网站而来,意思是,如果提供了MP3下载,那么可以尝试定期不定期的修改MP3的TAG,如果是压缩文件,那么他们都有一个备注区,定期通过程序修改这些位置,可以造成文件大小不一样,对于下载软件来说可能就会被当成不同的文件)
对于11、12好象都有一个问题,主要是指迅雷,如果资源被收录了,但实际被删除了,可能会在一段时间内会被迅雷狂访问,变相的DDOS,曾经我有一台服务器就遇到过这种情况,在我之前,服务器的IP是做电影下载的,后来不搞了,我使用了这个IP,天天流量满,后来一查,发现所有的链接都是下载电影的,虽然没有资源了,但就是拼命的、不停的在连接,造成流量狂涨。
上面这些方法除了用组件比较完全和相对会比较成功一点之外,其他的都难说啊。。。
随便谈谈而己,也不奢求一定能够有用