Количество запросов в час - PullRequest
4 голосов
/ 26 марта 2009

Как ограничить количество запросов в час с одного IP как в твиттере? Например, я хочу предоставить 100 запросов в час. Есть ли решение? Модули Apache? Спасибо.

Ответы [ 2 ]

6 голосов
/ 26 марта 2009

Начните с простого.

  • Используйте концепцию ключей API (допустим, его guid сопоставлен с доменом или счет).
  • Каждый раз, когда ваш API поражен, примите это и увеличьте его соответствующий счетчик.
  • Напишите правила для ограничения на основе вашего счетчик (в данном случае часов)
  • Сброс.

Блокировка по IP не рекомендуется. NAT проблема

0 голосов
/ 26 марта 2009

Не делай это по IP. Люди из целого университета, компании или интернет-кафе могут использовать один и тот же IP-адрес. Лучше всего, если вы вставляете cookie со случайным значением в первый http-ответ для каждого клиента, чтобы определить уникальность.

...