简单防盗链方法,实际地址暴露也不怕

很早以前研究的简单防盗链方法,适合自己站点资源被盗取严重的朋友们。
传统的防盗链都是通过Referer来判断用户来路的,不过这样的方法对于下载工具来说形同虚设,因为现在的下载工具早就能伪造Referer了。

现在一些流行的防盗链的方式都是用在浏览页面的时候产生一个随机验证码,在用户点击连接的时候服务器会验证这个验证码是否有效从而决定是否允许下载。或者就是用某些方法把文件实际地址进行伪装。不过我觉得这些都不怎么好用,我用了一个简单有效的方式来实现防盗链。

其实就是用Cookie,配合Apache的URL Rewrite模块很简单的就能实现防盗链下载。

首先在浏览页面的时候,会向客户端发送一个特别的Cookie,例如“Site=gekimoe.cn“,盗链而来的将没有这个Cookie。

在Apache的httpd.conf文件里面搜索:

#LoadModule rewrite_module modules/mod_rewrite.so

把它前面的#去掉,再找到块,在里面加入类似如下代码:

# Other configurations …

RewriteEngine On # 启动URL Rewrite引擎

RewriteCond %{HTTP_COOKIE} !^.*(?:Site=gekimoe.cn).*$ # 对于Cookie里面没有特殊记录的请求进行重定向

RewriteRule ^.*$ error.html # 将非法访问重定向到错误页面



这样如果一个盗链而来的请求将会因为没有特殊Cookie而被重定向到错误页面,就算实际地址暴露也不怕。至于这个Cookie的内容是什么以及有效时间完全可以由管理员自己来设定,也就是说下载工具也没法伪造,从而防止了服务器资源被盗链的危险。

—————————————————————
其实还有一个更强的辅助办法..
那就是 -> 把文件所在的文件夹的名字修改为带有特殊符号 “#” . 这样一来即便有实际地址, 用户也根本下载不了..



发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 63 = 73