2009-03-26 19 views
4

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

答えて

6

簡単に開始します。

  • APIキーの概念を使用しますが( を貸し付け、そのドメインまたは アカウントにマップされguid)。
  • APIがヒットするたびに キーを押し、対応するカウンタをインクリメントします。
  • カウンタ(この場合は時間)に基づいて制限する書き込みルール
  • リセット。

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

0

IPでしないでください。大学、企業、インターネットカフェの全員が同じIPを共有することがあります。一意性を識別するために、各クライアントの最初のhttpレスポンスにランダム値を持つクッキーを挿入するのが最善です。

+3

しかし、簡単に回避することはできません。 – Sam152

+0

@ Sam152:クッキーによる一意?絶対に。ユーザーの一意性を保証する他の手段をご存知ですか? – cherouvim

+0

特定のAPIページ(xml、jsonなど)に対してのみ、すべてのユーザーとすべてのページに対して制限を入力する必要はありません。つまり、ボットだけがそのようなページにアクセスします。人間が単純なXMLやJSONを読むのは難しいと思う。 ;-) ありがとうございます! –

関連する問題