2009-03-26 4 views
4

Wie Anfragen pro Stunde von einer IP wie es ist in Twitter zu begrenzen? Zum Beispiel möchte ich 100 Anfragen pro Stunde bereitstellen. Gibt es eine Lösung? Apache-Module? Vielen Dank.Anfragen Limit pro Stunde

Antwort

6

Starten Sie einfach.

  • das Konzept der API-Tasten (Lets sagen es ist ein guid zu einer Domäne zugeordnet oder ein -Konto).
  • Jedes Mal, wenn Ihre API getroffen wird, nehmen Sie den Schlüssel und erhöhen Sie den entsprechenden Zähler.
  • Schreiben Sie Regeln zur Begrenzung basierend auf Ihrem Zähler (in diesem Fall Stunden)
  • Reset.

Blockierung durch IP ist nicht ratsam. NAT ist das Problem

0

Tun Sie es nicht durch IP. Leute aus einer ganzen Universität, Firma oder Internetcafe können die gleiche IP teilen. Am besten injizieren Sie ein Cookie mit einem zufälligen Wert für die erste HTTP-Antwort für jeden Client, um die Eindeutigkeit zu identifizieren.

+3

Leicht zu umgehen jedoch. – Sam152

+0

@ Sam152: die Einzigartigkeit von Cookie? Bestimmt. Kennen Sie noch andere Mittel, um die Eindeutigkeit des Benutzers sicherzustellen? – cherouvim

+0

Ich möchte nicht für alle Benutzer und alle Seiten Grenzen festlegen, sondern nur für bestimmte API-Seiten (xml, json usw.). Ich meine, nur Bots werden auf solche Seiten zugreifen. Ich denke, es ist zu schwierig für Menschen, einfaches XML oder JSON zu lesen. ;-) Danke für die Antwort! –