盗链是指其它站点使用了你自己网站的图片音乐等资源,然后链接又没有更换,直接显示的就是你站点的图片,这在转载文章时最常见,比如转载时将 整篇文章都转载过去,包括文章里面的图片,有些人就懒得把图片再重新上传一下,直接就使用源地址的图片了,这就导致浪费了源网站的流量与带宽,现在比较大 型的站点都启用了防盗链功能,比如QQ空间,新浪博客,这些站点的图片在其它站点直接显示的时候会出现,不允许显示的提示。
对于我们小博客主来说,流量和宽带很重要,实在承受不住流量的浪费,哪么又应该如何防止盗链呢,下面夏日博客从网上找来的一段 wp 防盗链的代码,当然也适用于其它程序,代码如下:
- # 防盗链
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^index.php$ – [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- RewriteBase /wp-content/uploads/
- RewriteCond %{HTTP_REFERER} !^$ [NC]
- RewriteCond %{HTTP_REFERER} !inlojv.com [NC]
- RewriteCond %{HTTP_REFERER} !google.com [NC]
- RewriteCond %{HTTP_REFERER} !baidu.com [NC]
- RewriteCond %{HTTP_REFERER} !qq.com [NC]
- RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
- RewriteCond %{HTTP_REFERER} !xianguo.com [NC]
- RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]
- RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
- RewriteRule .*.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3)$ http://www.xiariboke.com/wp-content/nolink.jpg [NC,L]
- </IfModule>
把此段代码放入到根目录下的 .htaccess 中就可以了,其中 http://www.xiariboke.com/wp-content/nolink.jpg 为防盗链图片提示。
下面解释一下上面添加代码的作用意思:
RewriteBase /wp-content/uploads/:设置WordPress附件上传目录禁止外链,如果你已经在后台更改了默认上传目录的,这里则相应修改。
RewriteCond %{HTTP_REFERER} !^$ [NC]:允许用户在浏览器中单独打开附件链接。
RewriteCond %{HTTP_REFERER} !inlojv.com [NC]:允许特定网站可以显示附件内容,一般为收录优化和方便订阅用户,建议加上Google、百度、Feedsky之类的允许显示的网站。
RewriteRule .*.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3)$ http://www.xiariboke.com/wp-content/nolink.jpg [NC,L]:禁止外链的文件类型,如果盗链了则显示盗链提示图片。