hallo,
vielleicht hilfts bei der Diagnose etwas weiter: ich habe mir mal mehrere Header doch sehr genau angeschaut - und mit Headern verglichen, die mir "normale" Leute mitgeschickt haben, die das Formular so nutzten, wie es seinem Sinn entspricht. Ich setze mal so einen Header hierher:
Return-path: www-data@admin50.webjanssen.de
Envelope-to: christoph.schnauss@berlin.de
Delivery-date: Tue, 29 Nov 2005 22:39:06 +0100
Received: from www50.webjanssen.de ([195.140.208.50] helo=admin50.webjanssen.de)
by daiquiri.visp.de with esmtp (Exim 4.54 id 1EhDBq-000CcQ-8E)
for christoph.schnauss@berlin.de; Tue, 29 Nov 2005 22:39:06 +0100
Received: by admin50.webjanssen.de (admin50.webjanssen.de, from userid 96)
id 4C3027D0046; Tue, 29 Nov 2005 22:39:16 +0100 (CET)
To: christoph.schnauss@berlin.de
Subject: online-Formular
von: him
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: th king
Message-Id: 20051129213916.4C3027D0046@admin50.webjanssen.de
Date: Tue, 29 Nov 2005 22:39:16 +0100 (CET)
From: www-data@admin50.webjanssen.de
Dazu folgendes: www-data@admin50.webjanssen.de ist tatsächlich die voreingestellte mail-Adresse meines Providers in sendmail. Das hat also nichts zu bedeuten, jedenfalls nicht für meine Fragestellung. Und da das Ganze über ein online-Formular läuft, hab ich auch einen Protokolleintrag für den Formularzugriff, obwohl ja mails sonst mit HTTP nichts zu tun haben. Die IP für den Zugriff auf mein Formular ist hier ein Thailänder. Also nutzlose Information.
Aber: "Content-Transfer-Encoding: 7bit" ist das, was ich an diesem Header noch nicht verstehe. Bei keiner einzigen mail, die mich regelgerecht erreicht hat, hat sowas dringestanden. Und ich habe zwar eine Ahnung, was diese sieben bit bedeuten könnten (ich glaub, das wurde auch früher schonmal hier im Forum diskutiert), bin mir aber keineswegs sicher. Ich habe jetzt mal diesen String "7bit" mit einem regulären Ausdruck (allerdings _nur_ für die als erforderlich deklarierte mail-Adresse) verboten, genauso darf der string "schnauss" nicht in der Absender-Mailadresse enthalten sein. Die Folge: mein Script hat tatsächlich gegen 0 Uhr 03 sibezehn Anfragen zwar mit einer 200 beantwortet, zugleich aber sich selbst beendet, und im Server-log gibts für dieselbe Minute 67 weitere Scriptabbrüche.
Ich bin ja nach wie vor nicht ganz sicher, ob nicht mein Script noch irgendwelche Löcher hat (die hat es bestimmt, vermutlich aber an anderen Stellen), habe mich jetzt aber erstmal darauf konzentriert, diese beiden Sachen "7bit" und "schnauss" als ungültig zurückweisen zu lassen - bis vor drei Tagen gab es leider auch noch eine Antwortfunktion, daß selbst bei einer Fehlerausgabe an den Eintragenden eine freundliche Bemerkung zurückgeschickt wurde, er möge doch bitte seine Eintragung überdenken - und in dieser Antwort stand dummerweise noch meine korrekte mail-Adresse drin. Die Folge war, daß bei meinem mail-Provider jetzt unabhängig von meinem Formular ein paar hundert mails mit dem Absender www-data@admin50.webjanssen.de aufliefen. Das ist dort dann zwar vom Spamfilter geblockt worden, aber der "bot" hatte einen Tag lang keinen Grund mehr, über mein Formular zu gehen, sondern versuchte es auf direktem Weg.
Ich hätte jetzt gerne mal einen log-Eintrag von jemandem, der als Absenderadresse irgendwas wie XXX@christoph-schnauss.de einträgt. Gewissermaßen als Prüfung, um logs, die ich nicht selber provoziert habe, vergleichen zu können. Das Script müßte sich mit dem Abschicken des Formularinhalts beenden, vorher aber noch rasch den eingegebenen Text an die Absendermail zurückzuliefern versuchen. Das ist zwar ein doofes Spielchen (es schlägt ja nicht auf den "bot" zurück, sondern nur auf den Server meines online-Providers), ich nehme das auch spätestens morgen abend wieder zurück, aber vielleicht kirege ich mit Header und log noch etwas genauer heraus, was ich meinem Script als Aufgabe zuweisen sollte.
Grüße aus Berlin
Christoph S.