Apache禁止指定USRE_AGENT

有时候去分析访问日志的时候会有很多非法的访问,或者说你不想让它访问的一些请求,比如说一些比较垃圾的蜘蛛搜索引擎,其实我们对于这些搜索引擎是可以禁掉的,因为你的网站访问量的请求如果很大的话,那么会有一半的访问量是这些搜索引擎他们的爬虫来访问的,它们的访问跟人为的访问是一样的,同样会造成咱们服务器的负担

看一下访问日志

[[email protected] ~]# tail /usr/local/apache2/logs/test.com-access_

test.com-access_20151230_log  test.com-access_20151231_log  test.com-access_20160101_log  test.com-access_log

[[email protected] ~]# tail /usr/local/apache2/logs/test.com-access_20160101_log

192.168.140.2 - - [01/Jan/2016:11:34:15 +0800] "GET /admin.php?action=recyclebin HTTP/1.1" 403 211 "http://www.test.com/home.php?mod=space&do=notice&view=manage" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 2345Explorer/6.4.0.10751"

192.168.140.2 - - [01/Jan/2016:11:34:11 +0800] "GET /misc.php?mod=patch&action=pluginnotice&inajax=1&ajaxtarget=plugin_notice HTTP/1.1" 200 63 "http://www.test.com/forum.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 2345Explorer/6.4.0.10751"

192.168.140.2 - - [01/Jan/2016:11:34:12 +0800] "GET /misc.php?mod=patch&action=pluginnotice&inajax=1&ajaxtarget=plugin_notice HTTP/1.1" 200 63 "http://www.test.com/home.php?mod=space&do=notice&view=manage" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 2345Explorer/6.4.0.10751"

192.168.140.100 - - [01/Jan/2016:11:34:54 +0800] "HEAD http://www.test.com/data/info.php HTTP/1.1" 403 - "-" "curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

127.0.0.1 - - [01/Jan/2016:12:53:57 +0800] "HEAD http://www.test.com/data/info.php HTTP/1.1" 200 - "-" "curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

127.0.0.1 - - [01/Jan/2016:13:29:43 +0800] "HEAD http://www.test.com/data/info.php HTTP/1.1" 403 - "-" "curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

192.168.140.100 - - [01/Jan/2016:13:29:55 +0800] "HEAD http://www.test.com/data/info.php HTTP/1.1" 403 - "-" "curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

192.168.140.100 - - [01/Jan/2016:13:30:07 +0800] "HEAD http://www.test.com/ HTTP/1.1" 403 - "-" "curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

192.168.140.2 - - [01/Jan/2016:13:30:19 +0800] "GET / HTTP/1.1" 403 202 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

192.168.140.2 - - [01/Jan/2016:13:30:19 +0800] "GET /favicon.ico HTTP/1.1" 403 213 "http://www.test.com/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

这里又curl访问的:"curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2"

chrome访问的Chrome/39.0.2171.99 Safari/537.36 2345Explorer/6.4.0.10751"

我们可以试着把它们禁掉

[[email protected] data]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.bbb.com$

RewriteRule ^/(.*)$  http://www.test.com/$1 [R=301,L]

RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*chrome.* [NC]

RewriteRule .* - [F]

</IfModule>

在这里添加这3行,它用到的也是Rewrite,首先定义它的条件,[NC]是不区分大小写, [F]是Forbidden

我们用chrome来访问一下:

然后我们用curl访问:

[[email protected] ~]# curl -x192.168.140.100:80 www.test.com -I

HTTP/1.1 403 Forbidden

Date: Fri, 01 Jan 2016 05:42:09 GMT

Server: Apache/2.2.31 (Unix) PHP/5.3.27

Content-Type: text/html; charset=iso-8859-1

时间: 2025-01-18 13:02:44

Apache禁止指定USRE_AGENT的相关文章

apache限制某个目录禁止解析php、apache禁止指定user_agent、php相关配置

一:apache限制某个目录禁止解析php 某个目录下禁止解析 php,这个很有用,我们做网站安全的时候,这个用的很多,比如某些目录可以上传文件,为了避免上传的文件有×××,所以我们禁止这个目录下面的访问解析php. <Directory /data/www/data> php_admin_flag engine off <filesmatch "(.*)php"> Order deny,allow Deny from all </filesmatch&g

apache‘禁止指定user_agent’ 和 ‘禁止用户通过浏览器访问某个目录’

禁止指定user_agent 本节介绍如何通过rewrite实现限制指定 user_agent 的请求: 即禁掉不想让那些引擎访问的请求 编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf (找到"域名301跳转的配置"即"rewrite的mod配置"内写入) RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC

Apache禁止指定user_agent

user_agent我们把它叫做浏览器标识,目前主流的浏览器有IE.chrome.Firefox.360.iphone上的Safari.Android手机上的.百度搜索引擎.Google搜索引擎等很多,每一种浏览器都有对应的user_agent. 配置如下: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.0.* [NC,OR] RewriteCond %{HTTP_US

LAMP - Apache禁止指定user_agent

网站有时候会有一些非法的访问或者无意义的访问,比如垃圾的蜘蛛(360 spider, sogou spider等),当网站访问量很大时,蜘蛛的访问会增加服务器的负担,损失性能.对于没有必要的搜索引擎,可以禁掉:而对于百度,谷歌等可以保留 禁止搜索引擎的方法:通过rewrite模块实现,比如禁止sogou spider对网站进行访问,添加以下红色字段 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^www.a

Apache 禁止指定user_agent---模块

1.编辑虚拟主机文件 vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 编辑<IfModule mod_rewrite.c> 模块,在底部加入: RewriteCond %{HTTP_USER_AGENT}  ^.*curl.*  [NC,OR] RewriteCond %{HTTP_USER_AGENT}  ^.*chrome*  [NC] RewriteRule    .*  -  [F] ----禁止带curl或者chrome标识的访

Nginx/Apache下如何禁止指定目录运行PHP脚本

转自http://www.phpchina.com/portal.php?mod=view&aid=40248, 需获取更多资料请查看原文 网站程序的上传目录通常是不需要PHP执行解释权限,通过限制目录的PHP执行权限可以提网站的安全性,减少被攻击的机率. 下面和大家一起分享下如何在Apache和Nginx禁止上传目录里PHP的执行权限. Apache下禁止指定目录运行PHP脚本 在虚拟主机配置文件中增加php_flag engine off指令即可,配置如下 "/website/upl

Apache禁止解析php 禁止指定user_agent Apache通过rewrite限制某个目录

<Directory /data/www/data> php_admin_flag engine off <filesmatch "(.*)php"> Order deny,allow Deny from all </filesmatch> </Directory> 禁止指定user_agent <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_

禁止指定目录执行php文件

我们设置网站权限的时候,有些目录不得不设置让http服务器有写入权限,这样安全隐患就来了.比如discuz x2的 data目录,这个必须要有写入限,论坛才能正常运行,但有的黑客可能就会利用这个目录上传php文件(你会说附件上传已经限制这种格式的文件,但谁知道黑客会利用什么手段上传呢,只有他们清楚了),进而到配置文件读取到mysql的连接信息,那么你的数据库就是他的了.下面介绍apache和nginx下禁止指定目录执行php文件. apache的配置 <Directory /home/cento

LAMP(apache禁止解析php,限制user_agent,php配置,open_bashdir

一.apache禁止解析php. 实例:假如我们的一个目录是允许上传图片的,可能有些别有用心的人通过某些手段上传php文件上来.也就意味着被执行的文件,可能是恶意文件 修改: [[email protected] admin]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <Directory /data/wwwroot/111.com/upload> php_admin_flag engine off