博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache2.4使用require指令进行访问控制
阅读量:5025 次
发布时间:2019-06-12

本文共 2041 字,大约阅读时间需要 6 分钟。

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下的配置:

Require all granted

 

例2:拒绝所有访问请求

Apache2.4下的配置:

Require all denied
 

 

例3:只允许来自特定域名主机的访问请求,其他请求将被拒绝

Apache2.4下的配置:

Require host google.com
 

 

例4:只允许来自特定IP或IP段的访问请求,其他请求将被拒绝

Apache2.4下的配置:

Require ip 192.120 192.168.100 192.168.1.1

 

例5:允许所有访问请求,但拒绝来自特定IP或IP段的访问请求(阻止恶意IP或恶意爬虫网段的访问)

Apache2.4下的配置:

Require all granted Require not ip 192.168.1.1 Require not ip 192.120 192.168.100

 

例6:允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)

使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。

Apache2.4下的配置:

SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT SetEnvIfNoCase User-Agent "brandwatch" BADBOT SetEnvIfNoCase User-Agent "rogerbot" BADBOT
Require all granted Require not env BADBOT Require not ip 192.168.100.1

 

 

其它require访问控制指令用法如下:
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段间使用空格分隔

转载于:https://www.cnblogs.com/llxpbbs/p/9157203.html

你可能感兴趣的文章
Java 虚拟机部分面试题
查看>>
JS中 String/JSON 方法总结
查看>>
二叉树的遍历问题总结
查看>>
3.14-3.20周总结
查看>>
Spring之面向切面编程AOP
查看>>
MATLAB GUI程序设计中使文本框接收多行输入的方法
查看>>
JdbcTemplate操作SQLServer存储过程
查看>>
easy canvas shape with react antdesign 简单的canvas图形in antd & react
查看>>
MySql中INFORMATION_SCHEMA
查看>>
【转】JAVA输出内容打印到TXT以及不同系统中如何换行
查看>>
tail -f 和 -F 的用法
查看>>
网络协议研究(四)FTP
查看>>
全文检索-Elasticsearch (四) elasticsearch.net 客户端
查看>>
Oracle DBMS_SESSION
查看>>
sublime复制当前行到下一行
查看>>
WPF 3D变换应用
查看>>
luogu4012 深海机器人问题 网络流
查看>>
android 拍照上传照片
查看>>
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句(转载)
查看>>
数据结构上机任务
查看>>