Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Für den Apachen gibts genau dafür mod_evasive -> https://www.zdziarski.com/projects/mod_evasive/vielleicht schreibe ich ein skript, das all IPs mit # of impressions in eine DB schreibt. wenn die {# of impressions} / {definierter Zeitraum} eine kritische Schranke überschreitet, wird die IP per htaccess automatisch gesperrt.
Klingt gut.lloy hat geschrieben:Für den Apachen gibts genau dafür mod_evasive -> https://www.zdziarski.com/projects/mod_evasive/vielleicht schreibe ich ein skript, das all IPs mit # of impressions in eine DB schreibt. wenn die {# of impressions} / {definierter Zeitraum} eine kritische Schranke überschreitet, wird die IP per htaccess automatisch gesperrt.
Zur Installation brauchts allerdings auch Zugriff auf den Server.
Code: Alles auswählen
* Requesting the same page more than a few times per second
* Making more than 50 concurrent requests on the same child per second
* Making any requests while temporarily blacklisted (on a blocking list)
Code: Alles auswählen
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5 -> Anzahl der max. Aufrufe für eine Page
DOSSiteCount 100 -> Anzahl Aufrufe für die ganze Site
DOSPageInterval 2 -> Zeitintervall
DOSSiteInterval 2 -> Zeitintervall
DOSBlockingPeriod 600
DOSEmailNotify deine@email-adresse.de
</IfModule>
Code: Alles auswählen
1. Extract this archive into src/modules in the Apache source tree
so hatte ich mir das in etwa auch vorgestellt. fragt sich nur, wie die IP Adresse an die htaccess übergeben wird. einfach die komplette htaccess überschreiben, wenn eine neue zu sperrende IP dazukommt?To-Bi-As hat geschrieben:Also als fertiges Script kenne ich das nicht, aber so schwer ist das auch nicht.
Pack einfach bei einem Aufruf alle Daten in eine DB. Bei jedem weiterem Aufruf wird dann ermittelt wie oft der schon da war... 5x pro Stunde oder 10x pro Minute oder 2x pro Sekunde.
Danach kannste dann sperren oder freigeben. Allerdings brauchste dann einen vernünftigen Hoster, da alle Zugriffe registriert werden, auch von Suchmaschinen.
Letztere kannste von der Prüfung ausschließen, kostet aber auch Rechenzeit und ist nicht 100% sicher.
Gruß, Ingo
danke fox mulder!Fox Mulder hat geschrieben:Das Script schaut doch ganz gut aus: Flood Blocker: Detect and protect from attempts to flood a site
Die im Beispiel angegebene Regeln wären mir aber zu empfindlich.
Code: Alles auswählen
$browser = $HTTP_USER_AGENT;
if (preg_match("/Googlebot/i", $browser))
{ $no_flood = TRUE; }