Apache中利用mod_rewrite实现防盗链

 更新时间:2008年04月19日 21:19:08   作者:  
自从上次在博客中推荐《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  #设置合法请求源   
  1. <ifmodule mod_rewrite.c>  
  2. #开启mod_rewrite引擎   
  3. RewriteEngine On  
  4. #设置合法请求源   
  5. RewriteCond %{HTTP_REFERER} !^$ [NC]   
  6. RewriteCond %{HTTP_REFERER} !zhangzhang.net [NC]   
  7. RewriteCond %{HTTP_REFERER} !google.com [NC]   
  8. RewriteCond %{HTTP_REFERER} !baidu.com [NC]   
  9. RewriteCond %{HTTP_REFERER} !yahoo.com [NC]   
  10. RewriteCond %{HTTP_REFERER} !msn.com [NC]   
  11. RewriteCond %{HTTP_REFERER} !bloglines.com [NC]   
  12. RewriteCond %{HTTP_REFERER} !feedburner.com [NC]   
  13. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]  
  14. #指向警告页面   
  15. RewriteRule .*\.(gif|jpg|png|mp3)$ outlink.gif [L,NC]   
  16. </ifmodule> 

相关文章

  • Packetdrill的简明使用手册

    Packetdrill的简明使用手册

    今天小编就为大家分享一篇关于Packetdrill的简明使用手册,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • win8下XAMPP中Apache模块无效(apache无法打开)的解决方法

    win8下XAMPP中Apache模块无效(apache无法打开)的解决方法

    win8下系统默认占用80端口,导致apache无法打开,下面是具体的解决方法:首先以管理员权限运行c:\windows\system32\cmd.exe.....感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • Linux环境搭建之安装/配置Tomcat的方法

    Linux环境搭建之安装/配置Tomcat的方法

    本篇文章主要介绍了Linux环境搭建之安装/配置Tomcat的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • CentOS7 LNMP+phpmyadmin环境搭建 第二篇LNMP环境搭建教程

    CentOS7 LNMP+phpmyadmin环境搭建 第二篇LNMP环境搭建教程

    这篇文章主要为大家详细介绍了CentOS7 LNMP+phpmyadmin环境搭建,第二篇LNMP环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 如何在 Linux 中查找一个命令或进程的执行时间

    如何在 Linux 中查找一个命令或进程的执行时间

    在类 Unix 系统中,你可能知道一个命令或进程开始执行的时间,以及一个进程运行了多久。 但是,你如何知道这个命令或进程何时结束或者它完成运行所花费的总时长呢?下面小编给大家带来了在 Linux 中查找一个命令或进程的执行时间,一起看看吧
    2018-11-11
  • Linux如何处理文件已删除但空间不释放的问题

    Linux如何处理文件已删除但空间不释放的问题

    这篇文章主要介绍了Linux如何处理文件已删除但空间不释放的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Linux telnet命令的使用

    Linux telnet命令的使用

    这篇文章主要介绍了Linux telnet命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08
  • CentOS7下 Apache的安装配置方法

    CentOS7下 Apache的安装配置方法

    前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利。在此做一下学习记录和经验分享,需要的朋友可以参考下
    2017-11-11
  • linux把php升级到5.6的实操方法

    linux把php升级到5.6的实操方法

    在本篇文章里小编给大家整理的是关于linux下如何把php升级到5.6的相关知识点,需要的朋友们学习下。
    2019-11-11
  • ubuntu20.04虚拟机无法上网的问题及解决

    ubuntu20.04虚拟机无法上网的问题及解决

    这篇文章主要介绍了ubuntu20.04虚拟机无法上网的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论