PHP 聊天 - SetInterval 替代方案


PHP Chat - SetInterval alternatives

我需要用PHP构建一个聊天,在聊天框更新之前,一切都很清楚。

对于我正在调查的聊天框更新(以便聊天自动更新),只有使用客户端的 JS SetInterval 函数才能实现。

但这不是安全漏洞吗?例如,如果我将 SetInterval 设置为 10 秒,但客户端有人将此 JS 更改为 1 毫秒,并且每毫秒就会向服务器发出一个请求。(我认为这个黑客是可能的,不是吗?

您建议自动更新 PHP 聊天页面的最安全方法是什么?

提前致谢

从您的"安全漏洞"开始,实际上并非如此,它只是损害了 API 的使用方式。如果他们的带宽可以处理,任何人都可以向您的服务器发出数百甚至数千个请求。

这是将在服务器上处理以防止过度滥用的事情,但我认为它应该比您想象的要大得多。(实际上,恕我直言,保护您的提供商有责任保护您免受此类攻击,但不幸的是,并非所有提供商都以这种方式工作)。

为了获得更实时的聊天应用程序,您可能需要考虑websockets/nodejs或该领域的某些东西。否则,您最终会在您的(假设)apache服务器上保持常规http连接打开,并在达到最大客户端限制时将其杀死。

如果您的需求是在具有数百个用户的业务环境中,您可能需要仔细查看我建议的库,否则您可能可以接受 ajax 请求。