首页 > 上海日记 > .htaccess实现WordPress图片防盗链
2010
01-14

.htaccess实现WordPress图片防盗链

  十号的时候北街在小邪那看到“如何抓取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 图片防盗链,只是有些虚拟主机可能隔天才能见效,请配置完成之后耐心等待……

最后编辑:
作者:北街
身高八尺,腰围也是八尺!
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

.htaccess实现WordPress图片防盗链》有 62 条评论

  1. Pingback 引用通告: .htaccess实现WordPress图片防盗链 | 伊风在哭泣

  2. redgouqi 说:

    我的hotlink protectiong 插件启用了后在后台控制面板找不到设置项,这是什么情况?

留下一个回复

你的email不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.