限制user_agent

简介:

user_agent可以理解为浏览器标识
user_agent为什么可以做访问控制呢?
背景:比如网站受到cc攻击。攻击的人通过软件或者肉机,想攻击某个网站的时候,把所有的肉机发动起来,让它们同时访问一个站点。但是cc攻击往往有一个特征,就是user_agent一致的,访问地址一致。访问速度快,每秒N次

核心配置文件内容
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .curl. [NC,OR]
RewriteCond %{HTTP_USER_AGENT} .baidu.com. [NC]
RewriteRule .* - [F]
</IfModule>
OR:匹配的意思。user_agent匹配当前行或者下面一行。如果不加OR就是并且
NC:表示忽略大小写。因为有些浏览器首字符会大写。
F:就是直接Forbidden
因为curl是没有user_agent(上一次访问的地址)
curl -A "123123" 指定user_agent //自定义user_agent
curl -A "lsx lsx" -x192.168.211.150:80 discuz2.com/lsx/1.php -I //user_agent生效
cat /usr/local/apache2.4/logs/discuz2.com-access_log
192.168.211.150 - - [ +0800] "HEAD HTTP://discuz2.com/lsx/1.php HTTP/1.1" 200 - "-" "lsx lsx"

关于curl:
-A :指定user_agent
-e:指定Referer
-x:相当于省略hosts
-I:查看状态码




本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2054742,如需转载请自行联系原作者

相关文章
|
4月前
|
数据采集 监控 机器人
User-Agent 即用户代理
User-Agent 即用户代理
121 2
|
6月前
|
监控 安全
什么是 sporadic user
什么是 sporadic user
34 0
Golang:user_agent解析HTTP用户代理User Agents
Golang:user_agent解析HTTP用户代理User Agents
164 0
|
数据库
解决sprinboot项目连接数据库出现Access denied for user ‘‘@‘localhost‘ (using password: NO)
解决sprinboot项目连接数据库出现Access denied for user ‘‘@‘localhost‘ (using password: NO)
解决sprinboot项目连接数据库出现Access denied for user ‘‘@‘localhost‘ (using password: NO)
|
关系型数据库 MySQL 数据库
cloudera-scm-server: Access denied for user ‘scm‘@‘192.168.157.11‘ (using password: YES)
cloudera-scm-server: Access denied for user ‘scm‘@‘192.168.157.11‘ (using password: YES)
118 0
cloudera-scm-server: Access denied for user ‘scm‘@‘192.168.157.11‘ (using password: YES)
|
数据安全/隐私保护 Android开发
Javaweb项目碰到的问题- Access denied for user 'root'@'localhost' (using password: YES)
Javaweb项目碰到的问题- Access denied for user 'root'@'localhost' (using password: YES)
289 0
|
网络安全 开发工具