4

如何像 Twitter 一样限制来自一个 IP 的每小时请求?例如,我想每小时提供 100 个请求。有什么解决办法吗?阿帕奇模块?谢谢。

4

2 回答 2

6

从简单开始。

  • 使用 API 密钥的概念(假设它是映射到域或帐户的guid )。
  • 每次点击您的 API 时,获取该键并增加其相应的计数器。
  • 根据您的计数器编写限制规则(在这种情况下为小时)
  • 重启。

不建议通过 IP 阻止。NAT是问题

于 2009-03-26T07:23:56.320 回答
0

不要通过IP来做。来自整个大学、公司或网吧的人可能共享同一个 IP。最好将具有随机值的 cookie 注入到每个客户端的第一个 http 响应中,以识别唯一性。

于 2009-03-26T07:27:49.057 回答