4

Twitter のように 1 つの IP からの 1 時間あたりのリクエストを制限するにはどうすればよいですか? たとえば、1 時間あたり 100 件のリクエストを提供したいとします。解決策はありますか?アパッチモジュール? ありがとう。

4

2 に答える 2

6

シンプルに始めましょう。

  • API キーの概念を使用します (ドメインまたはアカウントにマップされたGUIDとしましょう)。
  • API がヒットするたびに、そのキーを取得し、対応するカウンターをインクリメントします。
  • カウンター (この場合は時間) に基づいて制限するルールを作成します。
  • リセットします。

IP によるブロックはお勧めできません。NATが問題です

于 2009-03-26T07:23:56.320 に答える
0

IPでそれをしないでください。大学全体、会社、またはインターネット カフェの人々が同じ IP を共有する場合があります。一意性を識別するために、各クライアントの最初の http 応答にランダムな値を持つ Cookie を挿入するのが最善です。

于 2009-03-26T07:27:49.057 に答える