如何防止机器人抓取(scraping)一个公开 API?
How will you prevent a bot from scraping a public API?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: api-security
标签: rate-limiting, throttling, bot-detection, http-error
参考答案摘要
TL;DR 公开 API 无法完全防止抓取,但可通过限流/节流、超限返回 HTTP 错误,以及引入 bot 检测方案来显著降低爬取行为。 如果 API 内的数据是公开可访问的,那么几乎不可能完全阻止数据抓取。不过,节流(throttling)是一种有效的方式,用于阻止机器人在特定时间内发起过多请求。 此外,当请求超过定义阈值时应返回 HTTP 错误。除此之外,一个优秀的 bot 检测方案可以识别访...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。