【发布时间】:2015-01-22 19:30:24
【问题描述】:
我正在使用 PHP、MySQL 和 Redis 开发 API,并希望对特定调用进行速率限制。 API 位于 CloudFlare 后面。为了实现这一点,我将增加每个 IP 地址在 Redis 中进行特定调用的每小时计数,如果超过限制将显示错误。
但是,我相信我遇到了 IP 地址欺骗的问题。我知道如果真正的客户欺骗了他们的 IP 地址,他们将永远不会收到回复,但这对于创建帐户调用等调用可能不是必需的。客户端可以通过注册多个具有不同 IP 的帐户来有效地创建 DoS 攻击,同时避免速率限制。这将导致我的系统发送大量欢迎电子邮件(导致我的服务器被标记为垃圾邮件),并且如果他们的电子邮件帐户被恶意注册,可能会阻止用户注册。如何避免这种情况?
我的想法:
- SSL 会阻止这种形式的 IP 欺骗吗?
- 有没有办法确保客户端收到服务器的响应,从而确保它不是伪造的 IP 地址?
- 在传递
HTTP_CF_CONNECTING_IP标头时,cloudflare 是否以某种方式验证 IP 地址没有被欺骗?
感谢您的帮助和建议。
【问题讨论】:
-
如果您的应用程序使用 TCP,那么您不必担心
-
“IP 欺骗”与您所说的完全不同。用户在 IP 之间跳转是不是欺骗。这就是网络 CAN 的工作方式,具体取决于用户的提供商。例如考虑一个在建筑物中使用 WiFi 的手机用户,然后在他们外出时迁移到手机数据。两个不同的网络,两个不同的 IP,但不是“欺骗”。
-
同一个代理后面有很多用户怎么办?
-
@Marc 我更担心的是成千上万次的故意和恶意欺骗,而不是某人的 IP 地址在使用应用程序期间更改一两次。
-
@myte 好点,我们也需要为我们的应用程序考虑这一点。
标签: php api security ip-address cloudflare