本文介绍在IIS、Apache和Nginx下图片和视频文件防止盗链的方法,原理是使用HTTP协议的Referer字段,判断网页地址,然后跳转替换。下面的具体的代码(注意:代码里面的网址要替换成你自己网站的网址):
Apache防止图片盗链的方法
Apache 防盗链需要加载mod_rewrite.so模块。
httpd.conf 或 .htaccess 文件里面加入如下语句
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://weste.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://weste.net$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.weste.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.weste.net$ [NC]
RewriteRule .*\.(png|gif|jpg|swf|bmp|flv)$ http://www.weste.net/nolink.gif [R,NC]
IIS防止图片和视频盗链的方法
IIS支持UrlRewrite吗?答案:不支持。但是我们可以通过安装第三方服务器扩展让IIS支持。目前有一种产品能比较好地支持IIS的UrlRewrite,名字叫ISAPI_Rewrite。
httpd.ini里面加入如下语句
RewriteCond Host: (.+)
RewriteCond Referer: (?!http://\1.*).*
RewriteRule .*\.(?:gif|jpg|png|swf|flv|bmp) /nolink.gif [I,O]
Nginx防图片和视频盗链的方法
location ~* \.(gif|jpg|png|swf|flv|bmp)$ {
valid_referers none blocked *.weste.net weste.net;
if ($invalid_referer) {
rewrite ^/ http://www.weste.net/nolink.gif;
}
}