ubuntu 16.04.3上apache 2.4.18通过设置HTTP_REFERER阻止图片盗链

2018-01-29 12:42:04来源:http://www.mobibrw.com/2018/10221作者:默默的点滴人点击

分享

最近偶尔碰到网站的流量被消耗尽的情况,已经影响到自己的使用了。怀疑网站图片,数据等被盗链,导致流量被消耗。



ubuntu
16.04.3

apache
2.4.18
防止网站图片被盗链的方法如下:



首先是在根目录下创建一个
.htaccess
,如果已经有了,直接把下面的代码添加到
.htaccess
尾部即可。


#阻止盗链
<IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_REFERER} !^$ [NC]
        RewriteCond %{HTTP_REFERER} !google.com [NC]
        RewriteCond %{HTTP_REFERER} !baidu.com [NC]

        RewriteCond %{HTTP_REFERER} !mobibrw.com [NC]
        RewriteCond %{HTTP_REFERER} !miniab.com [NC]
        RewriteRule .*.(gif|jpg|png|zip|gz|tar|pdf)$ mobibrw.com [R,NC,L]
#       RewriteRule .*.(gif|jpg|png|zip|gz|tar|pdf)$ - [F]
</IfModule>

简单的解释下每条语句:


RewriteCond %{HTTP_REFERER} !^$ [NC]


允许空“
HTTP_REFERER
”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“
HTTP_REFERER
”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。


RewriteCond %{HTTP_REFERER} !google.com [NC]


设置允许访问的
HTTP
来源,包括我们的站点自身、
Google

Baidu
等。这个可以添加多条,目前我们配置只有自身还有谷歌百度等常用的搜索引擎的访问权限。


RewriteRule .*.(gif|jpg|png)$ mobibrw.com[R,NC,L]


定义被盗链时替代的链接,可以是图片,也可以是
404
错误页,目前我们定义的是首页,所以就是
mobibrw
.com
,如果是要定义在
404
页面,可以把
404
页面的路径加上。当然替换的页面文件体积越小越好。你也可以不设置替换图片,而是使用下面的语句即可:


RewriteRule .*/.(gif|jpg|png)$ – [F]


参考链接



网站如何防止图片被盗链!怎么样让网站的图片不被其他网站调用


微信扫一扫

第七城市微信公众平台