反爬虫和DDoS防御都需要识别请求是机器批量访问还是浏览器正常访问,尤其是安全领域,对抗恶意批量访问是减少黑客攻击的一个重要手段。下面介绍一些常见的识别方法:
1. User-Agent检测(最常用)。User-Agent简称UA,是一种HTTP请求头,用来向服务器提供浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息。一般用户通过浏览器正常访问会携带User-Agent信息,不同的浏览器有不同的User-Agent值。但是攻击者可以通过模拟构造User-Agent值来伪造成浏览器正常访问。下图是mitmproxy代理抓取的HTTP数据包中的User-Agent值。
2. Referer检测。Referer也是一种HTTP头部,它告诉服务器自己是从哪个网页来的,正常用户访问会携带Referer。
3. 验证码。机器批量访问一般无法识别验证码,正常用户可以识别验证码。
4. 通过让客户端解析一段JavaScript代码。浏览器可以解析出JavaScript代码,而机器无法解析JavaScript代码。
如何识别机器批量访问还是浏览器正常访问
最新推荐文章于 2023-06-10 00:31:22 发布