2

AJAX リクエストで動作するチャット システムを作成しました。数分から 30 分のチャットの後、私のホスティング プロバイダーはユーザーをブロックし始めます。これはおそらく、AJAX リクエストを (D)DoS 攻撃の試みと見なすためです。

私の最良の選択肢は何ですか?

4

5 に答える 5

2

明らかに、すべての ajax 呼び出しですべてのメッセージをロードする ajax チャットを作成しました。これはサーバーに負担がかかりすぎます。

@Daniil が指摘したように、Websocket (プッシャーやスランガーなど) を使用してリアルタイム メッセージをやり取りすることをお勧めします。

于 2012-08-31T14:59:57.907 に答える
1
  1. リアルタイムでデータを操作する必要がある場合は、websocket を使用します。
  2. それでも AJAX を使用したい場合は、スクリプトに対してあまり多くの要求を行わないでください。
于 2012-08-31T14:58:39.493 に答える
0

より安っぽいホストを使用しますか?

もっと深刻なことに、送信される AJAX リクエストの数が適切であることを確認してください (5 秒ごとに 1 つで十分です)。ほとんどの共有ホスティングはおそらく許可しないため、ホストが実際にチャットなどの高アクティビティを許可していることを確認してください.

必要に応じて、VDS または完全な専用サーバーを取得することもできます。

于 2012-08-31T14:58:07.513 に答える
0
  1. 別のホストに移動します。
  2. コードを最適化します。

ブロックされるまでに 30 分間機能するとおっしゃっていたので、ファイアウォールの問題ではありません。それはおそらく、より高価なパッケージへの移行を強制するホスティング会社の言い訳です.

于 2012-08-31T15:13:22.147 に答える
-3

ロングポーリング

Websockets やサーバー送信イベントのようなものを使用しないように提案しているわけではありませんが、何らかの理由で使用できない場合は、AJAX 要求をすぐに閉じないようにして、その数を減らすことができると思います。行う。

于 2012-08-31T22:36:43.307 に答える