文档首页 > > 最佳实践> 反爬虫防御最佳实践

反爬虫防御最佳实践

分享
更新时间: 2019/08/28 09:48

简介

本手册基于华为云Web应用防火墙实践所编写,指导您在遭遇爬虫攻击时,完成反爬虫防护规则的设置。

Web应用防火墙(Web Application Firewall,简称WAF),针对Web攻击进行防护,例如:XSS(跨站脚本攻击)、Sql注入、Webshell上传等,其中爬虫防护是针对业务网站遇到的爬虫问题进行防护的策略。

当业务服务有高价值的图片、价格及其他信息,不希望被爬虫任意抓取时,可考虑反爬虫相关的策略和配置。

说明:

爬虫对抗是一个复杂的过程,Web应用防火墙可以从几个方面进行爬虫防护:

  1. User-Agent识别。
  2. 浏览器合法性检查。
  3. 访问频率限制。

针对这三点WAF分别有Robot检测、网站反爬虫、CC攻击防护等策略可以实现。本文仅介绍前两点。第三点有独立的章节介绍。

防护配置

  1. 登录华为云控制台,将您的网站成功接入Web应用防火墙,关于域名接入的具体操作请参见添加防护域名
  2. 选择安全 > Web应用防火墙 > 域名配置,进入“域名配置”页面,在您需要防护的域名(网站)所在行的“防护策略”栏中,单击“配置防护策略”,进入“防护配置”页面,确认“Web基础防护”“状态”“开启”,单击可切换防护状态,如图1所示。
    图1 防护配置
  3. 单击“高级设置”,确认Robot检测开关为打开状态。如图2所示。
    图2 打开Robot检测开关
    开启了Web基础防护中的Robot检测开关。当恶意爬虫、扫描器等对站点进行爬取时,可以看到下面的防护日志,如 图3所示。
    图3 Robot防护日志
  4. 如果业务接口没有API调用、且没有接入CDN等缓存服务,可开启网站反爬虫功能。如图4所示。
    图4 打开网站反爬虫功能
    说明:

    该特性依赖浏览器对javascript代码的解析,因此如果业务接口存在API调用的场景,不建议开启本特性,此外,由于CDN服务会缓存图片、静态资源等文件,因此爬虫请求很可能直接在CDN返回给用户,WAF侧的策略无法达到预想的效果。

    开启了网站反爬虫。非浏览器的访问将不能获取业务页面。如 图5所示。
    图5 网站反爬虫防护效果
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区