Nginx/Apache服务器图片防止盗链规则设置方法

一般我们在编辑网站内容的时候都会辅助加入图片,这样使得内容更具备真实性和可读性。由于搜索引擎对于图片的抓取,以及网站内容被他人采集、复制问题,往往也会将图片直接复制过去,但是并不是将图片下L ( Y Z载到他们本地,而是直接调用原网站的图片链接。

这样势必会增加原网站服务器的负担、流量等问题。云计算优惠在前( 9 e h ) w ( m几天也看到有不少的网站复制博客的文章,但是图片直U 2 } d a a 3 `接引用我这边的,当然也不会标注文章出处,好歹你也要把图片一起下载过去才行。出于这样的问题,我决定将网站服务器环境设置防盗链。当然,我一并将Ngiq , v lnx和Apache两个常用环境的图片防盗链方法一起分享。

文章目录
隐藏
第一、Ng% | x v {inx服务器图片防盗链规则

+ . K o N F二、Apache9 ~ X服务器图片防盗链规则

第一、Nginx服务器图片防盗x h D S L [链规则

locam p Gtion ~ .*\.(s P G wgif|jpg|jpeg|png|bmp|swf|flv|mp4|ie z [co)$ {
expires 30d| V G ~ d T;
access_log off;
valid_P l H {referers none blocked *.itbulu.com server_nameQ # zs ~\.google\. ~\.baidu\.;
if ($invalid_referer) {
#return 403;
rewrite ^/ http://img.itbulu.com/dao.jpg;
}$ P i W B U T
}

我们将修改当前站点的.CONF规则中,将修改和替换对于图片和流媒体的控制模块。我们可以直接将图片设置403不可见,也可以设置一个替代图片。同时,我们也需要允许百度、谷歌搜索引擎的抓取。

第二、Apache服务器图片防盗链规则

# 开启Rewrite模块
RewriteEngine On
# 定义要保护的文件夹,建议只要保护上传文件夹(/wp-content/uploads/)就可以
RewriteBase /wp-content/uploads/
#允许空的来源,因为用户可能手动输入图片网址
RewriteCond %{HTTP_REFERER} !^$ [NC]
#允许自己的网站访问啦
RewriteCond %{HTTP_REFERER} !itbul2 s K D F y ` /u.co) F M k } c ? ]m [NC]
#允许几个常用的在线阅读器的访问
RewriteCond %{HTTP_REFERER6 d U} !googg h ~ dle.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
#括号中的是要保护的文件O n . ? . s P拓展名,这里只保护了 gif,jpg,png,再加上出错时的图片地址
RewriteRule .*\.(gif|jpg|png)$ http://img.itbulu.com/dao.jpg [R,NC,L]

^ o o 8 h p ] ]改我们网站所在的.htaccess文件。

这样,V v ; K j J我们可以根据自己需要的网站w : e Z , F &服务器环境进行修改图片防盗链。