nodejs を使用して、高度にスケーラブルなブラウザー ベースの Web チャット サーバーを作成中です。関連する概念は単純です。最初に、ブラウザが WebSocket をサポートしているかどうかをチェックします。サポートされていない場合、またはサーバーの仕様と互換性がない場合は、従来のロング ポーリングに適切にダウングレードされます。
高度にイベント化された I/O モデルを利用して、この種のジョブに nodejs として適していて適合するフレームワークをこれまでのところ他に見つけることができませんでした。ただし、DOS 攻撃に関連する問題があり、簡単な解決策を考え出すことにしました。しかし、それが大規模なフラッド攻撃に対抗するための最も理想的な方法であるかどうかはわかりません。
私が計画していることは、単一のIPアドレスから発信された50以上のリクエストが特定の時間(たとえば1秒)内にサーバーにヒットした場合、その特定の時間間隔が来るまでそのIPからのすべてのリクエストを拒否することです失効など。
これで大丈夫?