定義
レート制限(Rate Limiting)は、ウェブサーバーやAPIゲートウェイが特定のクライアント(IPアドレス、認証トークン、ユーザーアカウント、APIキーで識別)からのリクエスト数を時間単位(1秒、1分、1時間、1日)あたりに制限する技術です。設定した上限を超えるリクエストはHTTP 429「Too Many Requests」レスポンスで拒否されるか、待機キューに置かれます。
レート制限はOWASP(Open Web Application Security Project)が推奨するブルートフォース攻撃対策の標準制御の一つです。コンテストプラットフォームでは、投票詰め込み、組織的キャンペーン、自動スクレイピングを防御するため広く採用されています。
主要アルゴリズム
固定ウィンドウ: 各時間ウィンドウ(例:毎分0秒から59秒)で許可リクエスト数をカウント。シンプルだがウィンドウ境界でバースト可能。
スライディングウィンドウ: 直前N秒間のリクエスト数を継続的に計算。より滑らかな制限。
トークンバケット: 一定レートでトークンが補充されるバケットからリクエストごとにトークンを消費。短期バーストを許容しつつ長期レートを制限。
リーキーバケット: リクエストをキューに入れ、固定レートで処理。トラフィックを平滑化。
コンテストにおける適用
コンテストプラットフォームのレート制限は通常、複数の層で動作します。
- IPあたりレート制限(例:1分あたり10リクエスト)
- セッションあたりレート制限
- アカウントあたりの投票数(例:1日1投票)
- グローバルレート制限(DDoS保護)
- 地理的クラスタリング検出(特定地域からの異常なバースト)
投票購入における意味
レート制限はBuyvotescontest.comのペーシングシステムが回避すべき主要な障壁です。当社の配信ロジックは、コンテストごとに観察されたレート制限閾値を識別し、その閾値を下回るペースで配信します。ポアソン分布に従う到着間隔と昼夜リズム調整により、有機トラフィックと統計的に区別不能なパターンを生成します。
関連概念
異常検知はレート制限のより洗練された統計的拡張です。ASN多様性はネットワーク層レート制限を回避する手段の一つです。reCAPTCHA v3もレート制限と組み合わせて多層防御を構成します。
制限・注意事項
レート制限はCarrier-Grade NAT(CGNAT)環境で問題を引き起こす可能性があります。1つの公開IPアドレスを数千の正当なモバイル加入者が共有しているため、IP単位の厳格なレート制限はそれら加入者を不当にブロックする可能性があります。