我制作了一个聊天系统,可以处理 AJAX 请求。仅在几分钟到半小时的聊天后,我的托管服务提供商开始阻止人们,这可能是因为它将 AJAX 请求视为未遂 (D)DoS 攻击。
我最好的选择是什么?
我制作了一个聊天系统,可以处理 AJAX 请求。仅在几分钟到半小时的聊天后,我的托管服务提供商开始阻止人们,这可能是因为它将 AJAX 请求视为未遂 (D)DoS 攻击。
我最好的选择是什么?
显然,您已经构建了 ajax 聊天以在每次 ajax 调用时加载所有消息。这对服务器来说太重了。
正如@Daniil 所指出的,您最好使用 websockets(例如 pusher 或 slanger)来传达实时消息。
使用不那么糟糕的主机?
更严重的是,确保发送的 AJAX 请求的数量是合理的(每 5 秒一个应该没问题)。确保您的主机实际上允许诸如聊天之类的高活动,因为大多数共享主机可能不会。
根据您的需要,您可能想要获得 VDS 甚至是完整的专用服务器。
这不可能是防火墙问题,因为您说它在被阻止之前可以工作半小时。这可能是您的托管公司迫使您转向更昂贵的套餐的借口。
长轮询?
我并不是建议您不要使用 websockets 或服务器发送事件之类的东西,但是,如果由于某种原因您无法使用,那么我想您可以尝试通过不立即关闭它们来减少 AJAX 请求的数量做。