Nginx与Apache防盗链设置方法

我们为什么要设置防盗链?因为我们的VPS的流量是有限的,是需要花钱购买的,虽然我们看到流量一月又200G、500G、甚至1000G,如果不设置防盗链,这些流量会在短短一天或者几天给你消耗干净。比如之前有一位朋友在自己的VPS中放了一首MP3用来作为背景音乐,但被搜索引擎列为试听/下载地址,可想而知……

根据我们搭建的系统环境不同,我们在Nginx和Apache中设置防盗链的方法也是不同的。

Nginx防盗链方法:

location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$
{
valid_referers none blocked laozuo.org *.laozuo.org;
if ($invalid_referer)
{
return 403;
}
expires 30d;
}

在我们网站所在的配置文件conf中添加以上代码,添加后重启nginx就可以生效,网址替换成自己的。

Apache防盗链方法:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://laozuo.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://laozuo.org$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.laozuo.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.laozuo.org$ [NC]
RewriteRule .*\\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ https://www.laozuo.org/404.html [R,NC]

把上面代码中的网址替换成自己的,然后提交至网站的根目录.htaccess文件中添加上述代码即可生效。