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,OR]      # [NC]表示不区分大小写

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

RewriteRule .* - [F]                                                           # 把 curl 和 chrome 访问禁掉

[[email protected] ~]# apachectl -t

Syntax OK

[[email protected] ~]# apachectl restart

这样就禁止并限定制定浏览器的访问请求,我们通过rewrite实现。



禁止用户通过浏览器访问某个目录

接着上一节,继续编辑虚拟主机配置文件

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

通过rewrite限制访问某个目录,即让目录下的文件不能被用户通过浏览器访问。

(还是在rewrite的mod里,添加之前要把上一节的条件注释掉 “#”,便于测试是否执行成功)

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

RewriteRule .* - [F]

[[email protected] ~]# apachectl -t

Syntax OK

[[email protected] ~]# apachectl restart

经测试,执行成功,网址方法访问/tmp/目录以及目录下的文件



这一节的两个配置可以总况可以写成以下形式:

<IfModule mod_rewrite.c>

RewriteEngine on

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

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

RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]       # [NC]表示不区分大小写

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

RewriteRule .* - [F]                                                            # 把 curl 和 chrome 访问禁掉

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

RewriteRule .* - [F]

</IfModule>

蓝色部分是域名301跳转;

红色部分是禁止指定user_agent;

绿色部分是禁止用户通过浏览器访问某个目录。

时间: 2024-08-01 22:46:30

apache‘禁止指定user_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禁止解析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_

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

user_agent 可以当作浏览器标识,目前主流的浏览器有 IE.chrome.Firefox.360.iPhone上的 Safari.Android 手机上的百度搜索引擎.google搜索引擎等很多,每一种浏览器都有对应的 user_agent,下面列出几个常见的 user_agent. Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E; SE 2.x) Mozilla/5.0(

LAMP - Apache禁止指定user_agent

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

LNMP - nginx禁止指定user_agent

user_agent用来识别访问者的操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码比如我们的服务器网站,会被一些搜索引擎的爬虫程序访问,这对服务器压力造成了一定的影响.我们就可以根据爬虫的user_agent标示,来禁止掉它访问网站. 1.修改配置文件 [[email protected] ~]# vim /usr/local/nginx/conf/vhosts/test.conf server{    listen 80;    server_name www.test.com

2.4-nginx禁止指定user_agent

user_agent用来识别访问者的操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好的代码 比如我们的服务器网站,会被一些搜索引擎的爬虫程序访问,这对服务器压力造成了一定的影响.我们就可以根据爬虫的user_agent标示,来禁止掉它访问网站. 可以用location语句,也可以不用.在全局插入以下代码. #全局配置黑名单,禁止访问网站 #   deny 127.0.0.1; #   deny 192.168.1.0/24; if ($http_user_agent ~* 'curl|b

Nginx配置——禁止指定user_agent

用途 你的网站访问量很大,而且服务器资源比较紧缺,因为我们的成本要稍微控制地严谨一点,所以呢,服务器稍微有点吃力,那么,网站呢它都会被搜索引擎的蜘蛛去爬取,它们去爬取的时候呢,跟咱们真人访问的行为是一样的,同样也会访问我们的数据库,同样也会耗费php资源,所以这个时候,有必须把一些不太重要的搜索引擎.蜘蛛爬虫给它禁掉. ## 编辑配置文件 [[email protected] ~]# vim /usr/local/nginx/conf/vhosts/test.conf if ($http_use

nginx禁止指定user_agent

匹配curl,baidu,111111的,全部拒绝!   ~*  ---不匹配大小写