企业网站的机器人、抓取与自动化攻击防护:速率限制、WAF 与人机验证
本文目录
如今互联网上的大部分流量并非来自真人。多家网络服务商的安全报告反复显示,对网站的请求中有很大一部分来自自动化程序:既有合法的搜索引擎和监控工具,也有爬取数据的抓取器、尝试猜密码的程序、囤积热门商品的抢购机器人以及表单垃圾信息机器人。对企业而言,影响是实实在在的:产品价格被竞争对手复制,客户账户被泄露的密码攻破,联系表单被垃圾信息淹没,服务器被成千上万的虚假请求拖慢。
本文介绍如何认识自动化流量的类型、与企业网站和应用相关的风险,以及一套务实的分层防护:从速率限制、WAF 到人机验证。目标是让企业主和技术团队选择“刚好够用”的防护,既不伤害真实客户,也不会屏蔽真正带来流量的搜索引擎。
摘要
- 并非所有机器人都是坏的:搜索引擎和监控服务应当放行,而抓取器、撞库和垃圾信息机器人则需要限制
- 先从监控开始:在添加规则之前先观察流量模式,避免误封客户
- 使用多层防护:速率限制、WAF 规则、IP 信誉以及不打扰用户的人机验证
- 优先保护最有价值的环节:登录、注册、表单、搜索、优惠券和 API 接口
- 用业务指标衡量效果,例如垃圾信息减少、账户被盗减少、服务器负载稳定

机器人的类型及其对业务的风险
了解威胁类型有助于选择合适的工具。以下是企业网站和应用中最常见的几类。
良性机器人
搜索引擎爬虫、可用性监控、链接检查器和官方聚合服务都属于此类。屏蔽它们意味着失去搜索结果中的曝光。请确保规则允许经过验证的爬虫,不要把它们与“所有非真人流量”混为一谈。
抓取器
复制您的商品目录、价格、库存或文章的程序。影响包括:竞争对手可以实时复制价格,您的内容出现在其他网站上,服务器负载上升。对网店而言,激进的抓取还会带来不必要的基础设施成本。
撞库与暴力破解
攻击者拿着从其他服务泄露的邮箱和密码列表,到您的登录页面逐个尝试。由于很多人重复使用密码,一部分尝试会成功。后果包括:账户被盗、积分或余额被滥用、声誉受损。最有效的预防是强身份认证,参见通行密钥与无密码登录以及单点登录与身份管理。
表单垃圾信息与虚假账户
联系表单、评论和注册被大量虚假条目淹没。其影响体现在:销售团队浪费时间筛选虚假线索,或事务性邮件被发送到无效地址,从而降低发件人信誉。
抢购机器人与囤货者
在限量商品、门票或限时促销中,机器人比人抢得更快。真实客户失望,库存流向转卖者。这与应对流量高峰的准备工作密切相关,参见大促前的压力测试。
流量攻击(应用层 DDoS)
向较重的页面(例如搜索或结账)发送洪水般的请求,使网站对所有人都变慢。这类攻击并不总是为了破坏;有时只是过于激进的机器人带来的副作用。
先监控,再封禁
常见的错误是一上来就设置严格规则,误封了真实客户。在此之前,先看清实际发生了什么。
- **访问日志分析**:检查 IP 地址、用户代理(user agent)、请求的页面及频率
- **可疑模式**:同一地址每分钟数百次请求、不自然的页面访问顺序,或连续的登录失败
- **分段**:把公开页面、登录页、API 和表单的流量分开看,因为合理的阈值各不相同
- **基线**:记录正常模式(高峰时段、每个会话的平均请求数),使异常容易被发现
这一做法与可观测性、日志与错误处理相互交叉。没有好的日志,您只能猜测。新规则先以“仅监控”模式运行,确认误封率较低之后,再改为“拦截”。
务实的分层防护
没有任何单一工具能解决所有问题。分层方式更有韧性,也更容易调整。
第 1 层:速率限制
在一定时间窗口内,限制每个地址、每个账户或每个 API 密钥的请求次数。采用不同阈值:公开页面宽松一些,登录和重置密码严格得多。返回明确的响应(例如状态码 429),让合法客户端知道需要等待。其原则与业务 API 设计:版本管理、文档与速率限制所述相同。
第 2 层:WAF 与基础规则
Web 应用防火墙过滤常见攻击模式,例如 SQL 注入和对已知漏洞的利用尝试。许多 CDN 和云服务商提供可快速启用的托管规则集。它是对安全编码和业务应用基础安全的补充,而不是替代。
第 3 层:IP 信誉与设备指纹
来自已知攻击源网络、并非普通用户所在的数据中心或匿名代理的地址,可以被施加额外验证。对按国家一刀切封禁要谨慎,因为这可能封掉合法的客户和合作伙伴,包括共享 IP 地址的移动网络用户。
第 4 层:低摩擦的人机验证
传统验证码令人厌烦,也不利于无障碍访问。现代方案是无感的,或基于行为信号,仅在风险较高时才出现验证。还可以考虑简单的技巧,例如表单中的蜜罐字段和最短填写时间。请确保您的选择不会把残障用户拒之门外,这与企业网站的无障碍访问一脉相承。
第 5 层:应用内部的防御
一些最有效的控制就在应用本身之内。
- 多次登录失败后临时锁定账户或放慢速度
- 对高价值账户启用两步验证
- 优惠券和促销码绑定账户、一次性使用并设上限
- 群发消息之前验证邮箱和手机号
- 对限量商品的购买设置每个账户的配额
- 监控异常交易,参见[网店的欺诈预防与支付安全](/blog/pencegahan-penipuan-dan-keamanan-pembayaran-toko-online)
保护最有价值的环节
并非每个页面都需要同样级别的保护。应根据业务价值和风险确定优先级。
登录与重置密码
这是撞库的主要目标。按账户和按地址设置速率限制,使用统一的错误提示以免泄露某个邮箱是否已注册,并在出现新设备登录时通知用户。
注册与表单
使用蜜罐、邮箱验证和提交次数限制。对于报价表单,应标记可疑条目而不是直接删除,这样在误判时销售团队仍可复核。
搜索与商品目录
较重的搜索是机器人压垮服务器的软肋。应采用缓存、速率限制以及每次请求的结果数上限。对于网店,可考虑高效的商品搜索与筛选,使每次请求的负载较低。
结账与优惠券
防范“盗刷测试”,即攻击者用小额交易测试数百张被盗银行卡。限制每个会话的支付尝试次数,并集成支付服务商的欺诈预防功能,会很有帮助。另见支付网关集成。
API 接口
API 常被忽视,却是抓取器的主要通道。使用 API 密钥、配额和身份认证,不要暴露移动应用或前端不需要的数据。
在防护与客户体验之间取得平衡
过于激进的防护会以看不见的方式伤害业务:被误封的真实客户不会投诉,他们只会悄悄转向竞争对手。
- **衡量误封**:统计触发验证或被封禁的合法用户数量,并复核客户投诉
- **提供恢复渠道**:被封禁时提供联系客服的方式
- **不要屏蔽搜索引擎**:按服务商建议的方式验证官方爬虫,而不是只看容易伪造的用户代理名称
- **关注转化**:在新规则上线前后监控转化率,结合[A/B 测试与转化率优化](/blog/uji-ab-dan-optimasi-konversi-website-bisnis)
- **关注速度**:防护层不应增加可感知的延迟,否则会与[网站速度及其影响](/blog/kecepatan-website-dan-dampaknya)相冲突
抓取的法律与伦理问题
并非所有自动化数据采集都违法,被拦截的也并非都是坏人。研究人员、比价聚合服务和 SEO 工具经常运行爬虫。有两点值得考虑。
第一,robots.txt 文件向遵守规则的机器人说明抓取偏好,但它不是安全机制;恶意机器人会无视它。第二,网站的服务条款可以禁止自动采集数据,但执行需要法律判断。如果您的内容或数据具有较高商业价值,请咨询法律顾问并制定明确的政策。对于客户的个人数据,请遵循网站和应用的个人数据保护中的原则。
AI 机器人与语言模型爬虫
出现了一类新的爬虫:为训练 AI 模型或通过 AI 模型回答问题而收集内容。一些企业希望自己的内容被 AI 引用,因为这能带来曝光;另一些则希望加以限制。这一决定属于战略层面,而不仅仅是技术问题。
- 决定您的公开内容是否允许用于训练,还是只允许用于引用
- 在 robots.txt 中为表明身份的爬虫设置偏好
- 监控日志,了解哪些 AI 爬虫最活跃
- 记住 AI 回答中的曝光可能成为线索来源,参见[AI 搜索与企业网站 SEO 的未来](/blog/pencarian-berbasis-ai-dan-masa-depan-seo-website-bisnis)
务实的 30 天计划
没有专职安全团队的企业,可以从简单的步骤开始。
第 1 周:摸清现状
启用并收集访问日志,找出排名前 20 的地址和用户代理。记录受攻击最多的页面。
第 2 周:加入基础速率限制
对登录、重置密码、表单和搜索设置限制。从宽松阈值和监控模式开始。
第 3 周:加入 WAF 与表单防护
启用托管规则、蜜罐和邮箱验证。复核其对垃圾信息和转化的影响。
第 4 周:复盘并形成文档
评估误封情况,调整阈值,并编写流程:谁来监控,如何应对高峰,何时联系托管服务商。把它纳入应急响应计划。
常见错误
- 按国家或单一用户代理封禁,却没有检查对真实客户的影响
- 只依赖验证码,而现代机器人可以借助廉价的破解服务通过验证码
- 忘记与同一服务器通信的 API 和移动应用
- 不做监控,直到托管账单暴涨才发现遭到攻击
- 显示会泄露账户是否已注册的错误提示
- 把 robots.txt 当作安全屏障
常见问题
小型网站需要机器人防护吗?
需要,基础形式即可。表单垃圾信息和登录尝试同样会发生在小网站上。蜜罐、速率限制和定期更新软件,就能以较低成本带来很大收益。
CDN 会自动防护机器人吗?
CDN 有助于吸收流量,许多还提供机器人管理功能,但通常需要配置。请启用合适的规则,并定期查看日志。
如何区分抓取器和真实客户?
看行为:请求速度、页面顺序、是否加载图片或脚本,以及用户代理是否一致。没有哪个信号是确定无疑的;多个信号结合更可靠。
拦截机器人会拉低 SEO 排名吗?
不会,只要继续允许合法的搜索引擎爬虫。请确保验证官方爬虫,并定期在站长工具中查看抓取报告。
结论
机器人防护不是一次性项目,而是一种运营习惯:监控、加入刚好够用的防护层、衡量效果,再重新调整。从最有价值的环节开始,避免误封真实客户和搜索引擎,并把结果与老板能读懂的业务指标挂钩。
免费清单:如何选择软件公司
签约前评估供应商的 24 个要点,可保存为 PDF。