网站防盗链设置方法(Apache_Ngnix)

作者: 蓝鹰 分类: 杂类其它 发布时间: 2013-11-06 20:14 ė190 浏览数 6网站防盗链设置方法(Apache_Ngnix)已关闭评论

我们这些草根站长做站不容易,我们网站行的图片只是给自己用的,一旦被别人转载走,或者被收索引擎抓取了,那么空间的流量就会唰唰地没了…为了阻止这种情况的发生,我们可以设置防盗链。

相信绝大多数站长使用的是Apache或Ngnix服务器,下面就介绍一下这两种服务器下的防盗链设置。

Apache防盗链:
大多数的虚拟主机都是Apache的,因此最方便的防盗链设置莫过于利用.htaccess文件了。网上搜索下方法很多,于是我总结了下,绝对好用的方法。把下面的代码添加到.htaccess文件里,修改下即可。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !ilucong.com [NC]
RewriteCond %{HTTP_REFERER} !youdao.com [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !twitter.com [NC]
RewriteCond %{HTTP_REFERER} !facebook.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com.tw [NC]
RewriteCond %{HTTP_REFERER} !google.com.sg [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !soso.com [NC]
RewriteCond %{HTTP_REFERER} !mail.qq.com [NC]
RewriteCond %{HTTP_REFERER} !cn.bing.com [NC]
RewriteCond %{HTTP_REFERER} !image.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteRule .(png|jpg|gif)$ http://img.baidu.com/img/logo-img.gif [R,NC,L]

代码解释:
先看最后一行,我对网站上的png、jpg、gif文件做了防盗链保护,一旦我网站里的图片在上述白名单之外的网站里出现,全部显示最后一行代码中的http://img.baidu.com/img/logo-img.gif图片。


Nginx防盗链:
Nginx不支持.htaccess,设置起来稍微麻烦了点。用文本编辑器打开/usr/local/nginx/conf/nginx.conf这个文件(如果你使用的是vhost,则到vhost里找相应的conf文件),将如下代码匹配server{ }段里面即可,注意我说的不是拷贝,而是匹配

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
valid_referers none blocked *.ilucong.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer) {
rewrite ^/ http://img.baidu.com/img/logo-img.gif;
#return 404;
}
}

注意:尽量不要使用windows自带的记事本编辑,可能会出现乱行,推荐使用Notepad++;编辑完之后,重启Ngnix服务方可生效。(在SHH中运行/usr/local/nginx/sbin/nginx -s reload)

这段代码也比较简单,即gif、jpg、jpeg、png、bmp、swf这些文件一旦出现在上述白名单之外的网站,就显示http://img.baidu.com/img/logo-img.gif这幅图片。

本文出自 蓝鹰博客,转载时请注明出处及相应链接。

本文永久链接: http://www.lanyingblog.com/blog/1332.html

Ɣ回顶部