Apache中利用mod_rewrite实现防盗链
作者:
自从上次在博客中推荐《you are my everything》以后,服务器的流量突然多了起来,有几次甚至导致了VPS的当机。后来经过分析:盗链这个MP3的网页包括诸如QQ空间、校内网空间、更有甚者还放到了Taobao小店、个人博客也有不少,全部作为了背景音乐,并且导致各种爬虫疯狂抓取这个文件。找到了问题原因就只有一个办法了,就是利用Apache的mod_rewrite模块把盗链行为拒之门外。
前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:。
view plaincopy to clipboardprint?<ifmodule mod_rewrite.c> #开启mod_rewrite引擎 RewriteEngine On #设置合法请求源
view plaincopy to clipboardprint?<ifmodule mod_rewrite.c> #开启mod_rewrite引擎 RewriteEngine On #设置合法请求源
- <ifmodule mod_rewrite.c>
- #开启mod_rewrite引擎
- RewriteEngine On
- #设置合法请求源
- RewriteCond %{HTTP_REFERER} !^$ [NC]
- RewriteCond %{HTTP_REFERER} !zhangzhang.net [NC]
- RewriteCond %{HTTP_REFERER} !google.com [NC]
- RewriteCond %{HTTP_REFERER} !baidu.com [NC]
- RewriteCond %{HTTP_REFERER} !yahoo.com [NC]
- RewriteCond %{HTTP_REFERER} !msn.com [NC]
- RewriteCond %{HTTP_REFERER} !bloglines.com [NC]
- RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
- RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
- #指向警告页面
- RewriteRule .*\.(gif|jpg|png|mp3)$ outlink.gif [L,NC]
- </ifmodule>