如何设置WordPress图片防盗链方法 推荐

所属分类: CMS教程 / WordPress 阅读数: 2069
收藏 0 赞 0 分享
如果您的博客有很多很多图片,空间又有流量限制,那么防止别人盗取自己的图片链接应该说是势在必行了,因为在国内,博客内容互相复制的现象相当的普遍,大家都非常珍惜自己的那一点点空间,直接复制图片(复制是带链接的哦!)就象一顿家常便饭一样,已经司空见惯了。图片被盗链不仅会让你的空间流量很快消耗掉,也会影响网站页面加载速度!

网上有许多设置图片防盗链方法,这里提供两种,一是利用.htaccess文件进行一些简单的设置便能够轻易防止别人盗取自己网站原创图片的链接;二是使用插件WP Hotlink Protection。

一.修改.htaccess文件

怎么实现?首先创建一张小图片,以作警示之用。你可以在此图片上打上”Please do not hotlink from my server“(大概意思是:不要盗取我的图片链接哦!)这样的警语。然后将图片上传到自己的空间服务器,要记住图片存放的路径。

接着打开WordPress网站根目录下的.htaccess文件,里面的原始内容应该是类似这样的:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

添加防盗链规则后的代码变成如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{HTTP_REFERER} !^http://(www\.)?sayblog.me(/)?.*___FCKpd___1nbsp;    [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google.com(/)?.*___FCKpd___1nbsp;    [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?baidu.com(/)?.*___FCKpd___1nbsp;    [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?image.baidu.com(/)?.*___FCKpd___1nbsp;    [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yahoo.com(/)?.*___FCKpd___1nbsp;    [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp|png|swf)$ http://www.sayblog.me/images/defaultimage.gif  [R,NC,L] 

</IfModule> # END WordPress 

绿色部份就是自己添加的规则,网址要根据需要更改,它们是属于允许使用图片的网址。

值得注意的一点是,一级域名和二级域名是有区别的,如上面的网址,我们添加了baidu.com,也应该添加image.baidu.com,这样image.baidu.com才不会搜到防盗链的那张图片。

添加的这部分代码主要作用为判断是不是盗链,如果访问图片的请求既不是来自直接输入的网址,也不是来自sayblog.me本身的,也不是来自列表中的网站,则执行下面的转向:

RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ http://www.sayblog.me/images/defaultimage.gif  [R,NC,L]

意思是让所有盗链www.sayblog.me网站下gif、jpg、jpeg 、bmp、png、swf文件的网页,显示的图片都用/ad-img/目录下的logo_sm.gif 图片替换掉。

解释一下R、NC 和L的意思:

R 就是转向的意思;

NC 指的是不区分大小写;

L 指明本次转向到此结束,后续的转向不受先前判断语句的影响。

最后一点,修改.htaccess文件防止图片被盗链产不适用所有主机,比如windows主机;这种方法还有一个缺点,就是可能会影响RSS订阅者阅读你的文章,因为RSS中的图片都会显示为用来防盗链的那张图片。

二.安装插件WP Hotlink Protection(推荐的方法)

WP Hotlink Protection插件使用很方便,安装也非常简单,既能防盗链,又不影响RSS用户访问,下载地址:http://wordpress.org/extend/plugins/wordpress-automatic-image-hotlink-protection/

001

简要使用说明,如上图:

1.Url Patterns to protect:这一栏填写要防止被盗链的图片路径;

2.Use a custom image:这一项用于设定图片被盗链时显示的另一张图片(需要自己定制一张),在选框上打钩则启用此项功能;

3.Information image:这里填写防盗链用图片的路径。

有许多网站或者博客都没有设置图片防盗链,这要根据各人所使用的空间服务器流量及带宽的限制范围来作决定,如果在国内,这方面的限制会比较苛刻,特别是对于一些图片较多的网站,防止图片被盗取链接很有必要;如果是国外的服务器,多数为无限流量,不限带宽,如果图片不是十分多的话,可以放心一些,但也不是绝对的,起码有个CPU使用率的限制。

日志标题: 《如何设置WordPress图片防盗链》
日志链接: http://www.sayblog.me/how-to-protect-wordpress-from-hotlink.html
博客名称: sayblog.me

更多精彩内容其他人还在看

WordPress中让Widget 标题支持简单的HTML标签

在默认情况下,WordPress 的 Widget 标题是不支持任何 HTML 标签的,下面的技巧教你使用简单的代码替换实现在 Widget 标题实现支持 HTML 标签
收藏 0 赞 0 分享

不使用wordpress插件添加页面关键词和描述信息

WordPress存在一个问题,就是页面中keywords和description信息的缺失,其实这个工作应该由主题来完成,遗憾的是大部分主题并没有涉及,因此造成这两个信息的缺失,对于SEO很不利。下面说下如何用非插件的方式在模板中实现keywords和description的调
收藏 0 赞 0 分享

wordpress数据库优化和清理冗余数据的方法

本文主要介绍了wordpress数据库优化和清理冗余数据的方法,大家参考使用吧
收藏 0 赞 0 分享

wordpress博客多站点获取当前博客信息示例

在开通WordPress多站点之后,你或许需要在插件中获取当前的博客信息。本文帮你解决这个问题
收藏 0 赞 0 分享

wordpress恶意代码解决方法分享

发现自己的测试站的主题带上了恶意代码,非常明显的就是出现了一个函数_verifyactivate_widgets,通常情况下,一旦出现了这个函数在你的主题中,使用PHP可以任意的获取用户名、博客的主题文件等等,下面是解决方法
收藏 0 赞 0 分享

wordpress中短代码失效解决办法

在WordPress中我们偶尔会使用短代码,但是在一些特殊的主题中,我们偶尔会发现,短代码失效了,没有显示为我们想要的音乐播放器,却只显示为原本的字符串。这个时候,你可能需要对主题进行一些简单的处理来实现这个打印效果
收藏 0 赞 0 分享

wordpress文章标题为空时其它内容代替的方法

本文主要介绍了wordpress文章标题为空时使用其它内容代替的方法,大家参考使用吧
收藏 0 赞 0 分享

为wordpress绑定多个域名的方法分享

本文主要介绍了WordPress绑定多个域名的方法,wordpress默认情况下会自动跳转到后台规定的home_url上去,如何实现绑定多个域名的功能,详细看下文吧
收藏 0 赞 0 分享

wordpress在postname中支持大写字母的方法

本文主要介绍了wordpress在postname中支持大写字母的方法,wordpress默认会将标题中的英文大写字母lower到小写,要在URL中使用中文,那么使用大写也是常有的,这里提供一种取消wordpress自动降级字母大写的方法
收藏 0 赞 0 分享

wordpress实现用户历史阅读记录功能分享

历史记录是一种较为私密的功能,主要为当前用户提供服务,不同的用户使用不同的终端看到的结果是不同的,不同用户之间不能共享,以保持用户对自己浏览记录的独享性。一般而言,我们有以下几种实现思路
收藏 0 赞 0 分享
查看更多