wordpress 如何防止盗链

盗链是指其它站点使用了你自己网站的图片音乐等资源,然后链接又没有更换,直接显示的就是你站点的图片,这在转载文章时最常见,比如转载时将 整篇文章都转载过去,包括文章里面的图片,有些人就懒得把图片再重新上传一下,直接就使用源地址的图片了,这就导致浪费了源网站的流量与带宽,现在比较大 型的站点都启用了防盗链功能,比如QQ空间,新浪博客,这些站点的图片在其它站点直接显示的时候会出现,不允许显示的提示。

对于我们小博客主来说,流量和宽带很重要,实在承受不住流量的浪费,哪么又应该如何防止盗链呢,下面夏日博客从网上找来的一段 wp 防盗链的代码,当然也适用于其它程序,代码如下:

  1. # 防盗链  
  2. <IfModule mod_rewrite.c>  
  3. RewriteEngine On  
  4. RewriteBase /  
  5. RewriteRule ^index.php$ – [L]  
  6. RewriteCond %{REQUEST_FILENAME} !-f  
  7. RewriteCond %{REQUEST_FILENAME} !-d  
  8. RewriteRule . /index.php [L]  
  9. RewriteBase /wp-content/uploads/  
  10. RewriteCond %{HTTP_REFERER} !^$ [NC]  
  11. RewriteCond %{HTTP_REFERER} !inlojv.com [NC]  
  12. RewriteCond %{HTTP_REFERER} !google.com [NC]  
  13. RewriteCond %{HTTP_REFERER} !baidu.com [NC]  
  14. RewriteCond %{HTTP_REFERER} !qq.com [NC]  
  15. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]  
  16. RewriteCond %{HTTP_REFERER} !xianguo.com [NC]  
  17. RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]  
  18. RewriteCond %{HTTP_REFERER} !yahoo.com [NC]  
  19. RewriteRule .*.(gif|jpg|jpeg|png|bmp|zip|rar|7z|swf|mp3)$ http://www.xiariboke.com/wp-content/nolink.jpg [NC,L]  
  20. </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]:禁止外链的文件类型,如果盗链了则显示盗链提示图片。

原文地址:https://www.cnblogs.com/flymood/p/4869032.html