前脚打后脚 發表於 2023-8-22 00:00:00

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

<p>
<span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>如果您的博客有很多很多图片,空间又有流量限制,那么防止别人盗取自己的图片链接应该说是势在必行了,因为在国内,博客内容互相复制的现象相当的普遍,大家都非常珍惜自己的那一点点空间,直接复制图片(复制是带链接的哦!)就象一顿家常便饭一样,已经司空见惯了。图片被盗链不仅会让你的空间流量很快消耗掉,也会影响网站页面加载速度!</span></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
网上有许多设置图片防盗链方法,这里提供两种,一是利用.htaccess文件进行一些简单的设置便能够轻易防止别人盗取自己网站原创图片的链接;二是使用插件WP Hotlink Protection。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<p style='margin: 0px; padding: 0px; outline: none; font-size: 14px; font-family: tahoma, arial, "Microsoft YaHei";'>
一.修改.htaccess文件</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
怎么实现?首先创建一张小图片,以作警示之用。你可以在此图片上打上”<span style="font-weight: inherit;">Please do not hotlink from my server</span>“(大概意思是:不要盗取我的图片链接哦!)这样的警语。然后将图片上传到自己的空间服务器,要记住图片存放的路径。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
接着打开WordPress网站根目录下的.htaccess文件,里面的原始内容应该是类似这样的:</p>
<p style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; outline: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; width: 640px; line-height: 20px; clear: both; font-size: 14px; border-left: 3px solid rgb(108, 226, 108);">
# BEGIN WordPress<br>
&lt;IfModule mod_rewrite.c&gt;<br>
RewriteEngine On<br>
RewriteBase /<br>
RewriteRule ^index\.php$ - <br>
RewriteCond %{REQUEST_FILENAME} !-f<br>
RewriteCond %{REQUEST_FILENAME} !-d<br>
RewriteRule . /index.php <br>
&lt;/IfModule&gt;<br>
# END WordPress</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
添加防盗链规则后的代码变成如下所示:</p>
<p style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; outline: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; width: 640px; line-height: 20px; clear: both; font-size: 14px; border-left: 3px solid rgb(108, 226, 108);">
# BEGIN WordPress<br>
&lt;IfModule mod_rewrite.c&gt;<br>
RewriteEngine On<br>
RewriteBase /<br>
RewriteRule ^index\.php$ - <br>
RewriteCond %{REQUEST_FILENAME} !-f<br>
RewriteCond %{REQUEST_FILENAME} !-d<br>
RewriteRule . /index.php </p>
<p style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; outline: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; width: 640px; line-height: 20px; clear: both; font-size: 14px; border-left: 3px solid rgb(108, 226, 108);">
<span style="line-height: 25.2px; color: rgb(0, 128, 0);">RewriteCond %{HTTP_REFERER} !^</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://(www\.)?sayblog.me(/)?.*</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">___FCKpd___1nbsp;    <br>
RewriteCond %{HTTP_REFERER} !^</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://(www\.)?google.com(/)?.*</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">___FCKpd___1nbsp;    <br>
RewriteCond %{HTTP_REFERER} !^</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://(www\.)?baidu.com(/)?.*</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">___FCKpd___1nbsp;    </span><br><span style="line-height: 25.2px; color: rgb(0, 128, 0);">RewriteCond %{HTTP_REFERER} !^</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://(www\.)?image.baidu.com(/)?.*</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">___FCKpd___1nbsp;    </span><br><span style="line-height: 25.2px; color: rgb(0, 128, 0);">RewriteCond %{HTTP_REFERER} !^</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://(www\.)?yahoo.com(/)?.*</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">___FCKpd___1nbsp;    <br>
RewriteRule .*\.(gif|jpg|jpeg|bmp|png|swf)$ </span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://www.sayblog.me</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);"><span style="line-height: 25.2px; color: rgb(0, 128, 0);">/images/defaultimage.gif</span><span style="line-height: 25.2px;">  </span></span><span style="line-height: 25.2px; color: rgb(0, 128, 0);"> </span></p>
<p style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; outline: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; width: 640px; line-height: 20px; clear: both; font-size: 14px; border-left: 3px solid rgb(108, 226, 108);">
&lt;/IfModule&gt; # END WordPress </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
绿色部份就是自己添加的规则,网址要根据需要更改,它们是属于允许使用图片的网址。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
值得注意的一点是,一级域名和二级域名是有区别的,如上面的网址,我们添加了baidu.com,也应该添加image.baidu.com,这样image.baidu.com才不会搜到防盗链的那张图片。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
添加的这部分代码主要作用为判断是不是盗链,如果访问图片的请求既不是来自直接输入的网址,也不是来自sayblog.me本身的,也不是来自列表中的网站,则执行下面的转向:</p>
<p style="margin: 3px auto 0px; padding: 0px 0px 0px 5px; outline: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; width: 640px; line-height: 20px; clear: both; font-size: 14px; border-left: 3px solid rgb(108, 226, 108);">
<span style="line-height: 25.2px; color: rgb(0, 128, 0);">RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ </span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">http://www.sayblog.me/images/defaultimage.gif</span><span style="line-height: 25.2px; color: rgb(0, 128, 0);">  </span></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
意思是让所有盗链www.sayblog.me网站下gif、jpg、jpeg 、bmp、png、swf文件的网页,显示的图片都用/ad-img/目录下的logo_sm.gif<span style="line-height: 25.2px; color: rgb(0, 128, 0);"> </span>图片替换掉。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
解释一下R、NC 和L的意思:</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
R 就是转向的意思;</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
NC 指的是不区分大小写;</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
L 指明本次转向到此结束,后续的转向不受先前判断语句的影响。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
最后一点,修改.htaccess文件防止图片被盗链产不适用所有主机,比如windows主机;这种方法还有一个缺点,就是可能会影响RSS订阅者阅读你的文章,因为RSS中的图片都会显示为用来防盗链的那张图片。</p>
<p style='margin: 0px; padding: 0px; outline: none; font-size: 14px; font-family: tahoma, arial, "Microsoft YaHei";'>
二.安装插件WP Hotlink Protection(推荐的方法)</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
WP Hotlink Protection插件使用很方便,安装也非常简单,既能防盗链,又不影响RSS用户访问,下载地址:http://wordpress.org/extend/plugins/wordpress-automatic-image-hotlink-protection/。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<p border="0" height="295" src="https://files.jb51.net/do/uploads/allimg/120425/0018440.png" style="border: 0px solid rgb(204, 204, 204); vertical-align: middle; padding: 1px; overflow: hidden; max-width: 696px; display: block; float: none; margin-left: auto; margin-right: auto;" width="445">
 </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
简要使用说明,如上图:</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>1.Url Patterns to protect:</strong>这一栏填写要防止被盗链的图片路径;</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>2.Use a custom image:</strong>这一项用于设定图片被盗链时显示的另一张图片(需要自己定制一张),在选框上打钩则启用此项功能;</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>3.Information image:</strong>这里填写防盗链用图片的路径。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
有许多网站或者博客都没有设置图片防盗链,这要根据各人所使用的空间服务器流量及带宽的限制范围来作决定,如果在国内,这方面的限制会比较苛刻,特别是对于一些图片较多的网站,防止图片被盗取链接很有必要;如果是国外的服务器,多数为无限流量,不限带宽,如果图片不是十分多的话,可以放心一些,但也不是绝对的,起码有个CPU使用率的限制。</p>
頁: [1]
查看完整版本: 如何设置WordPress图片防盗链方法