怎么防止图片盗链

前段时间空间一度被关闭,导致网站在百度和谷歌上的收录和排名直接变为零,这一切都是空间流量超标惹的祸。本来一个月有15G的流量对于一个小小的博客应该是够的,但是为什么会超标呢?

之前每个月9G的空间流量就差不多够了,但上个月这个博客访问流量从每天500ip增加到2000ip,我以为可能是访客增加的原因才会导致空间流量消耗激增的缘故。但是今天特别去看了下网站服务器访问日志和空间流量记录,发现访问网站恢复的第一天才44ip的访问量,但是空间流量消耗竟然达到1.59G,真是让我吓尿了。于是仔细分析了流量消耗记录,除了搜索蜘蛛的访问、可以显示访问来源的访客访问,消耗最多达到1.4G的竟然是显示不可追踪反译地址的“其它”访问,格式为PNG的文件。

终于找到了让空间流量浪费掉的罪魁祸首,于是对症下药,解决掉。很多博友为了方便都是直接把图片放在自己的博客空间里面,这样子既方便了自己,又方便了访客,可以提升访客打开页面的速度 。但是当图片多了,问题就出现了。在国内,原创从来都不值钱,抄袭、山寨到处都是,图片也一样。很多人复制你的文章甚至连你的图片也复制过去了,这边是图片盗链了。就以我的博客为例,很多人觉得我的博客样式不错,就直接复制过去;而更有甚者,直接转载我博客的文章,把我博客的图片也直接复制过去。图片少时没关系,但是一旦图片多了起来,你就会发现自己的流量开始飙升了。

那么我们怎么防止图片盗链呢?

事实上对于wordpress而言,因为我们一般都是用linux主机,那么我们只要修改根目录下的htaccess文件就行,但是有的时候修改根目录下htaccess文件可能木有效果,这个时候我们可以进一步修改存放图片文件的upload文件中添加一个htaccess文件来实现,具体操作方法如下:

(1)首先,我们先得准备一个防盗链的图片,我们暂且把图片的名字命名为image.gif吧,图片的内容随便你怎么弄,不过图片一定要小,几k或者十几k左右最好。

(2)把图片上传到你博客的根目录。

(3)这一步是关键,在放置图片的 /wp-content/uploads/ 文件夹下放置一个.htaccess文件,在.htaccess文件内加入以下内容:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !^http://(www.)?pzboy.com(/)?.*$ [NC]

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

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

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

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

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

RewriteRule .*.(jpg|gif|png|bmp|jpeg|swf)$ /image.gif [R,NC,L]

这些语句表示只允许自己的博客www.***.com以及搜索引擎和订阅分享类网站显示原图,其他一律显示刚才做的那个image.gif。你可以还加上一些例外的网站,不过要按照RewriteCond %{HTTP_REFERER} !www.***.com [NC]的格式,把www.****.com改为你想要例外的网站的网址即可。