十号的时候北街在小邪那看到“如何抓取Flickr相片集中的图片”的文章,再次感觉到 WordPress 图片防盗链的重要性,特别是最近添加了 NextGEN Gallery 相册之后这个功能就更有用了。
那么如何防止 WordPress 图片被盗链呢?如果我们虚拟主机支持 mod_rewrite,那么就比较方便,可以直接使用 Hotlink Protection 插件,这个插件在防盗链的同时还不会影响输出的 FEED。
下载插件试用了一下,北街发现图片防盗链并未成功,因为在其他网站上还是能看到北街博客的图片。看了一下插件的代码,其实这个插件也是修改 .htaccess 文件。既然都是同样的方法,那么我直接放个 .htaccess 文件到 uploads 目录下,参考了网上若干 .htaccess 的写法,最后我的版本如下:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !ibeijie.cn [NC]
RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
RewriteCond %{HTTP_REFERER} !google.com [NC]
RewriteCond %{HTTP_REFERER} !google.cn [NC]
RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
RewriteCond %{HTTP_REFERER} !baidu.com [NC]
RewriteRule .*.(jpg|gif|png|bmp|jpeg)$ xxx/forbid.png [R,NC,L]
RewriteCond 里面的第一行是指如果没有 Referer,或者说如果是直接访问图片地址,那么显示图片。
接下来的就是允许了自己的网站和谷歌,抓虾,鲜果等网站访问。这样订阅北街博客的朋友都能看到图片了。
最后一行 RewriteRule 是说如果文件后缀名是 jpg 和 gif 之类的话,那么就显示为 xxx/forbid.png 这个图片。
一般 Linux 主机和 Unix 主机都支持重写 .htaccess。这样子设置以后,在上面添加的阅读器中就可以查看北街博客文章喝图片了,同时也能有效地防止盗链图片而导致的流量超标。
经过这次试验之后,我发现修改 .htaccess 和使用 Hotlink Protection 插件都能实现 WordPress 图片防盗链,只是有些虚拟主机可能隔天才能见效,请配置完成之后耐心等待……
PR: 0

以前也用防盗链插件,但效果不是很好,直接写.htaccess 要添加例外的站点,这点让我很犹豫!
虽然现在主要还是用flick来放图片 不过还是觉得放自己的空间上比较安全
很实用的东西 收藏先
@麦小芽 Hotlink Protection插件不好用么?我现在用着没什么问题啊~推荐使用!
@sosohehe 嗯,同道中人~我找到知音了!
貌似直接在php后台判断referer不同于自己的域名就不与显示就好了,好像sablog就是这么防盗链的
@路人假 其实道理都差不多,都是通过.htaccess文件实现防盗链~
一般的主机控制面板都内置了Hotlink Protection功能,开启就可以了
@一路同行
请问一下北街,你的回复用的是什么插件?显示平滑效果的
小邪坏透了
重新订阅,有需要我订阅其他的请留言啊
@一路同行 内置的Hotlink Protection功能在哪?我用的评论插件:quickly comment
请订阅!
和小邪的YD相比,我们是多么的微不足道!O(∩_∩)O哈哈~
盜鏈主要就是流量問題吧?我的還好啊,發現流量猛增的話再加不遲~
@羽中 是啊,其实我也是未雨绸缪,防患于未然~
晕啦 挂了个MP3在空间,以为做了防盗链没事,结果二天被百度偷啦。然后被空间商警告了。
@skyoy 摆渡就是一个无奈~
北街兄,我想问下啊,用这个Hotlink Protection怎么添加例外呀?我用了这个插件之后,自己站点的链接图片都不行了,晕晕~另外,这个插件只防链接图片么?其它的不行?!
@怡红公子 想要添加例外的话或者防止其他文件被盗链的话,可以直接写 .htaccess 文件。我在上面有解释哦,仔细看看哈~