Apache的mod

网站上传了一首mp3做背景音乐,不久,网站流量突然暴增,有几次甚至导致了VPS的当机。后来经过分析:盗链这个MP3的网页包括诸如校内网空间、QQ空间、更有甚者还放到了Taobao小店、个人博客也有不少,全部作为了背景音乐,并且导致各种爬虫疯狂抓取这个文件。找到了问题原因就只有一个办法了,就是利用Apache的mod_rewrite模块把盗链行为拒之门外。

网站上传了一首mp3做背景音乐,不久,网站流量突然暴增,有几次甚至导致了VPS的当机。后来经过分析:盗链这个MP3的网页包括诸如校内网空间、QQ空间、更有甚者还放到了Taobao小店、个人博客也有不少,全部作为了背景音乐,并且导致各种爬虫疯狂抓取这个文件。找到了问题原因就只有一个办法了,就是利用Apache的mod_rewrite模块把盗链行为拒之门外。

利用.htaccess文件,设置图片mp3歌曲等的防盗链:

前提Apache中的mod_rewrite模块为激活状态,既然要消灭掉mp3文件的盗链就顺便也把图片盗链的设置给做了,下面是我在网站根目录的.htaccess文件中的配置,供同病相怜之人参考:

.htaccess文件中的代码:

以下为引用的内容:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www.)?cpanel123.com/.*$ [NC]
RewriteRule .(txtdocjpggifmp3ziprarpng)$ http://www.cpanel123.com [R=301,L]

现在盗链的话,就会自动转向到我的主页。

功能:

不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的原创作者。

代码说明:

RewriteCond 条件:意思就是所有的mp3、rar、图片等,访问如果referer不是本网站cpanel123.com或www.cpanel123.com,

RewriteRule 规则:自动转向到本站主页: http://www.cpanel123.com/

注释掉的部分是测试rewrite engine用的:对于调试mod_rewrite很有用。

其它防盗链的一些设置,大家可以参考:

以下为引用的内容:
#开启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 .*\.(gifjpgpngmp3)$ outlink.gif [L,NC]

时间: 2024-09-08 21:52:19

Apache的mod的相关文章

学习Apache的mod rewrite、access写法_Linux

Apache 的 mod rewrite RewriteEngine On RewriteBase /B2B/website/ RewriteRule ^article-([0-9]+)\.html$ view_details.php?browse=profile&id=$1 以上这个测试通过的.如果不行关键是服务器端,以后的怎么改就发挥了 关于图片的 可以加一个 /503(id)/title.htm 这样一定不重复了,用503或其他数字或者是abc也行,不顾oabc还想不是很理想,学学ii的,

Apache启用Mod Rewrite和.htaccess方法

在Windows下,我们一般使用的是Administrator账号,所以启用这两项非常简单: 1.在[Apache安装目录]/conf/httpd.conf中找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#.如果没有这行,请添加.并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so这个文件.这样就启用了Mod Rewrite功能. 2.在[Apache安装目录]/conf/httpd.c

Apache Rewrite实现URL的301跳转和域名跳转_Linux

如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

apache tomcat 负载均衡集群和session复制 基于jk

apache服务器和tomcat的连接方法其实有三种:JK.http_proxy和ajp_proxy. 本文主要介绍最为常见的JK. 基于centos5.5 linux下配置: 1.安装tomcat7.apache2.2.22服务器及版本对应的JK 这里需要注意的是JK版本必须与apache服务器版本号对应.apache下载 对应的linux的编译的jk版本可以去 mod_jk.so去下载 注意点:如果你安装的apache是2.0.63版本或者说是2.0.X版本做好选用 mod_jk-1.2.2

Apache 服务器配置详细教程(1/5)

主站点的配置(基本配置) (1) 基本配置: serverroot "/mnt/software/apache2" #你的apache软件安装的位置.其它指定的目录如果没有指定绝对路径,则目录是相对于该目录. pidfile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置. listen 80 #服务器监听的端口号. servername www.111cn.net:80 #主站点名称(网站的主机名). serveradmin admin@

Apache 配置详解(最好的APACHE配置教程)_php技巧

Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置.其它指定的目录如果没有指定绝对路径,则目录是相对于该目录. PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置. Listen 80 #服务器监听的端口号

让PHP更快的提供文件下载

一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件. 但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载.   <?php $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Dispos

让 PHP 更快的提供文件下载

一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件. 但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载. $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Disposition: atta

URL重写的几种实现方式的总结

URL重写,其实就是把带一大堆参数的url,变成一个看上去很规矩的url,主要目的是为了搜索引擎. 举例 /viewthread.jsp?id=1234 /viewthread.jsp?id=1235 /viewthread.jsp?id=1236 重写后,可以用 /viewthread/1234.htm /viewthread/1235.htm /viewthread/1236.htm 我目前使用Tomcat+Apache,尝试过三种重写的方法 一.Tomcat的过滤器 最典型的就是用 url