分享

利用.htaccess实现网站图片防盗链功能 | 老妖互联网博客

 集微笔记 2014-02-11

    前几天说我把博客搬进了衡天主机(http://www./post/1904.html),用了几天感觉很好,速度比Godaddy的要快。唯一有点不足之处就是主机给的流量有点少,我这款主机给的月流量是15G。这几天在主机管理页面查看流量日记,发现我博客每天的流量在三四百兆左右,一天四百兆左右,算下来一个月也将近15G了,万一要是有点突发事件,15G的流量可能有点不够。何况这是一个小博客,要是办别的网站,流量肯定是不够的。我联系衡天的小张,他说可能我的博客存在着盗链的情况,主要是图片盗链,说让我做图片防盗链。我想了想觉得有道理,于是就开始研究博客的图片防盗链。从网上查了一些资料,试验了几次,最终防盗链成功,下面将方法分享如下(说明:linux空间,需要支持.htaccess才可以)。

    1、准备一张防盗链显示的图片,就是别人在盗用你图片的时候显示的一张“请勿盗链”的警告图片,为了更节省流量,这张图片大小要足够小才行,一般控制在10kb以下。这个很简单,参照别人的防盗链图片,自己随便做一张就行,比如我的:

利用.htaccess实现网站图片防盗链功能

    2、打开自己空间.htaccess文件,加上以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/images
RewriteRule ^.*$ - [L]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|bmp|zip|rar|mp3|txt|png|wma|wmv)$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !www.laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !laoyao.me [NC]
RewriteCond %{HTTP_REFERER} !www.zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !www.google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !google.com.hk [NC]
RewriteCond %{HTTP_REFERER} !www.google.cn [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} !www.baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.cn [NC]
RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
RewriteCond %{HTTP_REFERER} !www.ask.com [NC]
RewriteCond %{HTTP_REFERER} !www.163.com [NC]
RewriteCond %{HTTP_REFERER} !www.yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !www.sogou.com [NC]
RewriteCond %{HTTP_REFERER} !www.soso.com [NC]
RewriteCond %{HTTP_REFERER} !www.sina.com.cn [NC]
RewriteCond %{HTTP_REFERER} !www.msn.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !www.feedburner.com [NC]
RewriteRule (.*) /images/error.gif [R,NC,L]

    代码说明:代码第二行,意思是将网站images目录的权限打开,也就是说images文件夹下的图片不进行防盗链,为什么呢?因为我们的盗链警告图片放在这个目录下,你要是不把这个目录权限打开,那么别人盗链的时候,连这张盗链警告图片也显示不出来,只能显示红叉叉,这不是我们想要的效果。代码第四行为需要防盗链文件的后缀名,可以自行根据需要修改。后边那些代码的意思是哪些网站可以不防盗链,都是一些搜索引擎之类的,还有自己站的网址。代码最后一行为盗链时显示的警告图片。也可以将这张图片存放到其他的网站,比如某些图片存储空间,这样的话就可以更加节省本站流量了。

    3、把盗链警告图片上传至相应位置,然后保存.htaccess上传。测试一下吧。去别的网站发表文章,盗用本站图片,然后打开那篇文章试试,或者需要刷新一下试试。下面是我在博客大巴测试的一篇文章,显示结果成功防盗链。网址是:http://laoyaome./logs/146326235.html,大家可以去看看效果。

利用.htaccess实现网站图片防盗链功能



2
很 赞

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多