So wollte noch einmal meinen Senf zu diesem Thema abgeben. Ich bin zwar immer noch nicht auf die Antwort meiner Frage gestoßen aber habe einen anderen interessanten Ansatzpunkt zu diesem Thema gefunden.
Gerüchte zu Folge, soll ein Spambot auf die Quittierung warten, daß seine Anfrage bei Server angekommen ist (200). Der Server selbst erhält die Anfrage vom Client. In meinem Fall per GET oder POST. Leitet diese an das angegebene Script weiter. Das Script wertet die Daten aus und übergibt die Daten an den Server um sie als Antwort zurück zu senden.
Der Bot selbst wartet aber nicht auf das Ergebnis sondern "meistens" nur auf die Eingangsquittierung.
Wenn dieses Gerücht stimmt, dann bringt eine 404 Seite so viel wie garnichts, da das eigentliche Ergebnis nicht abgewartet wird.
Aber ein Sleep soll hier vermutlich einen Bot zumindest ausbremsen können. Hängt etwas vom gesetzten Timeout des Bots ab.
Wenn ich also einen Spambot durch Filter erkenne, kann ich ein sleep(60) setzen bervor ich den header schicke. Sollte der Bot seinen Timeout nicht früher haben, muss er diese 60 Sekunden warten bis er weiter machen kann.
Im besten Fall bedeutet dieses, daß jemand die Logs der Bots ließt und mein Formular aus der Liste dieses Bots nimmt.
PS: Der sleep(60) ist hier nur als Beispiel gewählt. Kann ja individuell gesetzt werden. Ewentuell sogar per Script noch verbessert werden, wenn man prüft ob der Client noch erreichbar ist.
Glaubt ihr, daß folgendes funktioniert:
PHP-Code:
//filter hat Bot erkannt
sleep(20);
if($_SERVER['HTTP_CONNECTION'] === 'Keep-Alive') {
sleep(20);
} else {
//senden irgend eines gewählten Headers
}
Wenn das klappen würde könnte man den Sleep für den Bot entsprechend bis zu seinem eigenene Timeout setzen und ihn so sinnlos warten lassen.