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 grantedRequire not ip 192.168.1.1Require 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).*" BADBOTSetEnvIfNoCase User-Agent "brandwatch" BADBOTSetEnvIfNoCase User-Agent "rogerbot" BADBOT<RequireAll>Require all grantedRequire not env BADBOTRequire 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 #允许,表达式为true Require 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段间使用空格分隔
转载于:https://www.cnblogs.com/gongchixin/articles/7484700.html
Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫...相关推荐
- Linux 实用指令 -- 网络配置(查看网络IP和网关、 ping 测试主机之间网络连通、Linux网络环境配置(指定固定ip))
文章目录 1. 网络配置 1.1 查看网络IP和网关 1.1.1 查看虚拟网络编辑器 1.1.2 这里可以修改ip地址(修改虚拟网络的ip) 1.1.3 这里可以修改网关(虚拟网络的网关) 1.1.4 ...
- 数据链路层介质访问控制——信道划分、随机访问和轮询访问
介质访问控制 介质访问控制是数据链路层的子层,通过采取一定的措施,使共享信道的节点之间通信不会发生相互干扰.常用的介质访问控制方法有:信道划分介质访问控制.随机访问介质访问控制和轮询访问介质访问控制. ...
- linux c语言设置ip,linux 下用指令和C语言来设置IP,MASK,gateway
linux用指令来设置IP,MASK,GATEWAY: //终端指令实现 //ifconfig eth0 192.168.0.0 netmask 255.255.0.0 //route add def ...
- apache配置指令速查
AcceptFilter AcceptFilter 指令 说明 根据协议类型对监听Socket进行优化 语法 AcceptFilter protocol accept_filter 作用域 serve ...
- 访问控制列表(ACL)基本的配置以及详细讲解
[网络环境] 网络时代的高速发展,对网络的安全性也越来越高.西安凌云高科技有限公司因为网络建设的扩展,因此便引入了访问控制列表(ACL)来进行控制,作为网络管理员我们应该怎么来具体的实施来满足公司 ...
- nginx(三)status状态页面的相关信息及配置,以及nginx的访问控制配置
前言: 作为一个站长,了解本站实时的状态信息也是维护网站的重要信息之一,同时也能通过一些监控工具,例如zabbix对状态页面进行监控,从而取到实时的状态信息: **ngx_http_stub_stst ...
- LAMP 架构深度优化记录
1.Apache worker/prefwork模式说明 在linux中,我们可以用httpd-l 查看安装的模块是prefork模式还是worker模式 [root@LAMP ~]# /applic ...
- Apache运维中常用功能配置笔记梳理
Apache 是一款使用量排名第一的 web 服务器,LAMP 中的 A 指的就是它.由于其开源.稳定.安全等特性而被广泛使用.下边记录了使用 Apache 以来经常用到的功能,做此梳理,作为日常运维 ...
- LAMP架构深度优化
转载地址:https://blog.51cto.com/ucode/1750564 ©著作权归作者所有:来自51CTO博客作者027ryan的原创作品,如需转载,请注明出处,否则将追究法律责任 1.A ...
最新文章
- 发现一个“佛系记账本”
- 客户端验证:JQuery Validation Plugin
- 【CyberSecurityLearning 56】自动化注入
- 最优传输理论和生成模型的几何观点
- [蓝桥杯] 连号区间数
- 图合成与差分隐私(图结构和节点属性)论文笔记
- 堆排序的应用-优先级队列
- 开源媒体标注系统cvat
- HDU 3333-Turing Tree(BIT好题)
- SQL基本语句(整理)
- Mac创建一个vue项目
- android 展开收起功能,Android非常简单的TextView展开和收起,在列表中TextView文章展开全部和收起...
- Xilinx HLS 学习笔记1
- python画函数图像-Python 绘制你想要的数学函数图形
- 将知网caj格式转换成pdf格式
- JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
- 第二届阿里巴巴大数据智能云上编程大赛亚军比赛攻略
- 盘企lcms php开发框架,LCMS操作 · 盘企LCMS PHP开发框架文档 · 看云
- spring动态代理
- 安全防御-----IDS