flashnfantasy: 'kleinen' Denial of Service abfangen in PHP

Beitrag lesen

Das Thema 'Denial of Service' in einer speziellen Variante.

Ich vermute mal nicht einen bösartigen Angriff, sondern einfach nur ein Crawler oder ein sonstiges Programm, daß innerhalb einer Sekunde meine Website etwa 500mal aufruft, und das über mehrere Sekunden.

Dabei stolpert er auch über mehrere öffentliche Chaträume, Galerieen mit Kommentaren, Profile etc. die ich alle dynamisch erstelle und auch Nicht-Mitglieder anzeige (um zu zeigen, was sie auf meinen Seiten erwartet).

Das Problem dabei ist, daß der Datenbank-Server ziemlich schnell komplett ausgelastet ist und für mehrere Minuten ein DOS vorliegt.

Jetzt meine Frage:
Wie kann ich diesen DOS abfangen - und zwar gehe ich davon aus, daß ich in PHP ohne Nutzung der Datenbank den Angriff erkennen will.
Das ich zB die Herkunftsadresse der Abfragen analysiere und auf diese Weise erkenne, ob jemand in extrem kurzer Zeit sehr viele Abfragen macht.

Ich habe mal irgendwann gehört, daß man sowas Flooding nennt und das es da eine Möglichkeit gibt, solche Massenanfragen in PHP vor dem Datenbank-Connect zu verhindern.
Nur wie ?

Gruß,
Flash