2

我制作了一个聊天系统,可以处理 AJAX 请求。仅在几分钟到半小时的聊天后,我的托管服务提供商开始阻止人们,这可能是因为它将 AJAX 请求视为未遂 (D)DoS 攻击。

我最好的选择是什么?

4

5 回答 5

2

显然,您已经构建了 ajax 聊天以在每次 ajax 调用时加载所有消息。这对服务器来说太重了。

正如@Daniil 所指出的,您最好使用 websockets(例如 pusher 或 slanger)来传达实时消息。

于 2012-08-31T14:59:57.907 回答
1
  1. 当您需要实时处理数据时,请使用 websockets。
  2. 如果您仍想使用 AJAX,请不要对您的脚本发出太多请求。
于 2012-08-31T14:58:39.493 回答
0

使用不那么糟糕的主机?

更严重的是,确保发送的 AJAX 请求的数量是合理的(每 5 秒一个应该没问题)。确保您的主机实际上允许诸如聊天之类的高活动,因为大多数共享主机可能不会。

根据您的需要,您可能想要获得 VDS 甚至是完整的专用服务器。

于 2012-08-31T14:58:07.513 回答
0
  1. 移出到不同的主机。
  2. 优化代码。

这不可能是防火墙问题,因为您说它在被阻止之前可以工作半小时。这可能是您的托管公司迫使您转向更昂贵的套餐的借口。

于 2012-08-31T15:13:22.147 回答
-3

长轮询

我并不是建议您不要使用 websockets 或服务器发送事件之类的东西,但是,如果由于某种原因您无法使用,那么我想您可以尝试通过不立即关闭它们来减少 AJAX 请求的数量做。

于 2012-08-31T22:36:43.307 回答