文档首页/ Web应用防火墙 WAF/ 常见问题/ 防护规则/ 开启JS脚本反爬虫后,为什么客户端请求获取页面失败?
更新时间:2024-06-07 GMT+08:00

开启JS脚本反爬虫后,为什么客户端请求获取页面失败?

开启JS脚本反爬虫后,当客户端发送请求时,WAF会返回一段JavaScript代码到客户端。如果客户端是正常浏览器访问,就可以触发这段JavaScript代码再发送一次请求到WAF,即WAF完成JS验证,并将该请求转发给源站,如图1所示。

图1 JS脚本反爬虫正常检测流程
  • 如果客户端是爬虫访问,就无法触发这段JavaScript代码再发送一次请求到WAF,即WAF无法完成js验证。
  • 如果客户端爬虫伪造了WAF的认证请求,发送到WAF时,WAF将拦截该请求,js验证失败。
  • 开启JS脚本反爬虫,要求客户端浏览器具有JavaScript的解析能力,并开启了Cookie。
  • 如果客户端不满足以上要求,则只能完成①和②,此时客户端请求将不能成功获取到页面。

请您排查业务侧是否存在这种场景。如果您的网站有非浏览器访问的场景,建议您关闭JS脚本反爬虫功能。