防盗链对于有流量限制的网站来说无疑是非常之重要的,今天写写怎么防盗链(虽然太多的人知道,但是还是写出来吧,备不时之需,哎呀,羞…… )
一开始,我是装了插件来做防盗链的,插件想必大家也都听说过,叫——HotLinkProtection。装过这个插件的童鞋应该知道如果主机是Unix/Linux系统,那么在网站的根目录下的.htaccess里会增加一段该插件生成的代码,也就是这个插件本身也是通过写.htaccess文件达到防盗链效果的。问题就出来了,那么是否可以卸掉这个插件,但是保存其在.htaccess文件里生成的代码来实现同样的效果呢?
于是,我就这么干了,在.htaccess文件里添加上这段代码(具体形式不一样,意思一致),然后添加上自己站点的例外和防盗链图片的文件夹以及重定向的链接。经过测试后,我发现这样做是完全可行的!
这个插件生成的代码如下:
1 2 3 4 5 6 | # BEGIN HotLinkProtection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?ninthday.net [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] # END HotLinkProtection |
将其与原生的文件里的语句整合,在Wordpress原生的那一段里面添加下面一段,当然,你还是可以继续添加你想要的例外和想要保护的文件类型,如:
1 2 3 4 5 6 7 8 9 10 11 | RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !ninthday.net [NC] RewriteCond %{HTTP_REFERER} !www.ninthday.net [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !google.com.hk [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteRule (wp-content/uploads.*\.(gif|jpg|jpeg|png)$) http://www.ninthday.net/images/daolian.png [R,NC,L] |
不用说,将域名改为你的,文件夹也可以变为你想要保护的文件夹。 OK,这种方法也许不是最简单的,但的确是可行的!
附上我的.htaccess文件最后的这一部分内容,效果见:传送门>>:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On FileETag none RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !ninthday.net [NC] RewriteCond %{HTTP_REFERER} !www.ninthday.net [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !google.com.hk [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteRule (wp-content/uploads.*\.(gif|jpg|jpeg|png)$) http://www.ninthday.net/images/fangdaolian.gif [R,NC,L] </IfModule> # END WordPress |
声明:本文采用 BY-NC-SA 协议进行授权 | 星期九
原创文章转载请注明:转自《站内图片防盗链|.htaccess版》
如果流量不超的话,我会一直不用这个功能,我倒希望人家来抄我的
@yesureadmin, 哈哈,你还愿意让别人抄哦。其实流量一般是够用的啦。
在Wordpress原生的那一段里面, 这个是指哪里?给个地址,我也想试试。
@woiweb, 如果你的主机是Linux或者Unix,如果你根目录有.htaccess文件的话,里面应该有这一段:
# BEGIN WordPress
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
@woiweb, 你就把传送门后面那一段写进这个文件就可以了。
为了保护自己的合法权益,这个防盗链那是必须的
@WordPress啦, 嗯 ,这个防患于未然。
我有个问题,我也试过这种方法,但是我有个插件需要调用图片做缩略图,但是修改.htaccess后缩略图就不会显示了该怎么办?
@abx, 不应该啊,你的缩略图也是本站的图片,按理说不应该不会显示的,我的站里不也有缩略图么!什么插件?
好含蓄,跟着走都不成功
@笨瓜, 你的根目录下默认有没有.htaccess文件的?
@笨瓜, 对了,不一定立时生效,而且有时候会因为浏览器缓存让你看不到效果,你试着按一下“Ctrl+F5”。
Random Posts
Recent Posts
Recent Comments
By Plastic injection mould
By OOZJ
By Jusbe
By 互联网战
By 互联网战
By ixwebhosting
Blogroll
Categories
Tag Cloud
360 5800 Alexa C++ Chrome Cisco Dedecms Discuz Fcitx Fedora GFW Gravatar IE Linux Mobile ModelSim Music QT Quartus Shell Verilog VPN VPS Windows Wordpress XAMPP Xilinx xp 下载 垃圾评论 情感 手机 插件 星期九 注册 电子信息 程序设计 站长工具 缩略图 网络应用 考研 胡思乱想 西工大 视频 软件Meta