Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫 从Apache2.2升级到Apache2.4后,发现原来用来限制部分I
来源:互联网 发布:淘宝商城女士棉睡衣 编辑:程序博客网 时间:2024/05/07 07:58
Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫
从Apache2.2升级到Apache2.4后,发现原来用来限制部分IP和垃圾网络爬虫的访问控制规则不起作用,查询后才发现,Apache2.4中开始使用mod_authz_host这个新的模块来进行访问控制和其他的授权检查。原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。
注意:使用require指令时,需要在指令外添加<RequireAll></RequireAll>标签对,否则重启Apache2.4加载规则时将出现错误:"negative Require directive has no effect in <RequireAny> directive "。
下面直接给出一些实例对Require指令的使用进行说明:
例1:允许所有访问请求
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all granted </RequireAll> </Directory>
例2:拒绝所有访问请求
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all denied </RequireAll> </Directory>
例3:只允许来自特定域名主机的访问请求,其他请求将被拒绝
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require host google.com </RequireAll> </Directory>
例4:只允许来自特定IP或IP段的访问请求,其他请求将被拒绝
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require ip 192.120 192.168.100 192.168.1.1 </RequireAll> </Directory>
例5:允许所有访问请求,但拒绝来自特定IP或IP段的访问请求(阻止恶意IP或恶意爬虫网段的访问)
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all granted Require not ip 192.168.1.1 Require not ip 192.120 192.168.100 </RequireAll> </Directory>
例6:允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)
使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。
Apache2.4下的配置:
<Directory xxx/www/yoursite> SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT SetEnvIfNoCase User-Agent "brandwatch" BADBOT SetEnvIfNoCase User-Agent "rogerbot" BADBOT <RequireAll> Require all granted Require not env BADBOT Require not ip 192.168.100.1 </RequireAll> </Directory>
Require all granted #允许所有Require all denied #拒绝所有Require env env-var [env-var] ... #允许匹配环境变量中任意一个Require method http-method [http-method] ... #允许特定的HTTP方法(GET/POST/HEAD/OPTIONS)Require expr expression #允许,表达式为trueRequire user userid [ userid ] ... #允许特定用户Require group group-name [group-name] ... #允许特定用户组Require valid-user # #允许,有效用户Require ip 192.100 192.168.100 192.168.100.5 #允许特定IP或IP段,多个IP或IP段间使用空格分隔
- Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫 从Apache2.2升级到Apache2.4后,发现原来用来限制部分I
- apache2限制外部IP访问某个目录
- Apache2.4和Apache2.2访问控制配置比较
- 关于Apache2.4限制目录访问配置的问题
- APACHE2.X 禁止服务器IP直接访问
- apache2.2 apache2.4
- Apache2.2升级到2.4
- IP限制访问控制
- 这篇文章主要介绍了Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess,需要的朋友可以参考下 Apache 从2.2升级到 Apache2.4.x 后配置
- Apache2设置访问密码
- apache2部署访问yaaw
- apache2.2与2.4中的访问控制语句比较
- 【apache2.2】apache2.2中的日志访问文件access.log
- 基于Apache2.2配置通过局域网访问本地项目
- 通过sqlnet.ora文件限制/允许IP访问
- apache2 设置页面禁止iframe/禁止访问目录
- 使用PHP或.htaccess限制IP访问
- Apache2.4.9本地访问正常但是在局域网或外网IP拒绝访问
- 31款轻量高效的开源 JavaScript 插件和库
- 微信小程序全屏
- 来自普元移动团队的微信小程序第一手实践分享
- Java 教程 很好的一个网站,java 基本知识都在 正则表达式
- 快速编译出WebRTC for Android 的一次记录
- Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫 从Apache2.2升级到Apache2.4后,发现原来用来限制部分I
- JavaScript 中的继承
- ini文件解析c库(iniparser)
- 关于visio安装的小问题
- cocos2dx-js添加繁体的识别-iosApp
- 基于Vue 2和高德地图的地图组件 - vue-amap
- webstorm简单介绍,webstrom基本使用
- Jenkins编译任务如何下载多个git库代码到同一本地仓库
- Maven系列 7.文档和报告