边缘安全 EDGESEC-配置网站反爬虫防护规则防御爬虫攻击:JS脚本反爬虫检测机制
JS脚本反爬虫检测机制
JS脚本检测流程如图1所示,其中,①和②称为“js挑战”,③称为“js验证”。
开启JS脚本反爬虫后,当客户端发送请求时,会返回一段JavaScript代码到客户端。
- 如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求,即边缘安全完成js验证,并将该请求转发给源站。
- 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求,即边缘安全无法完成js验证。
- 如果客户端爬虫伪造了认证请求,发送到边缘安全时,会拦截该请求,js验证失败。
通过统计“js挑战”和“js验证”,就可以汇总出JS脚本反爬虫防御的请求次数。例如,图2中JS脚本反爬虫共记录了18次事件,其中,“js挑战”(EdgeSec返回JS代码)为16次,“js验证”(EdgeSec完成JS验证)为2次,“其他”(即爬虫伪造EdgeSec认证请求)为0次。
“js挑战”和“js验证”的防护动作为仅记录,EdgeSec不支持配置“js挑战”和“js验证”的防护动作。