Mailinglisten-Archive |
Hallo Marita, Am Montag, 7. Mai 2007 schrieb Marita Betz: > Da hast Du sicher recht. Darauf das es sinnvoll wäre, das zu machen, > habe ich meinen Auftraggeber auch schon hingewiesen. > > Zuerst wollte er nur überprüfen lassen, ob das Feld Notiz leer ist > oder nicht. > > Inzwischen habe ich meinen Auftraggeber ja schon soweit, dass er > wenigstens die E-Mail-Adresse überprüfen lassen will. man muß natürlich zwei Dinge auseinanderhalten: 1. Welche Felder sollen Pflichtfelder sein? 2. JEDE Übergabe muß ohne Wenn und Aber intern auf Herz und Nieren geprüft werden. Bei 1. gilt was der Auftraggeber wünscht, bei 2. gilt, daß es gemacht werden muß, weil Du ja sonst einen Fehler in der Software hast, für das Du wiederum haftest und Dein Auftraggeber Dich im Zweifelsfall zur Verantwortung zieht. > > Bei Mailformularen und der Verwendung der Funktion mail() sind > > diese Sicherheitsmaßnahmen von besonders elementarer Bedeutung, > > weil Du Dein Mailformular mit einer direkten Übernahme der > > übergebenen Daten in die Funktion oder durch eine unzureichende > > Prüfung der Daten in Null-Komma-Nichts in eine Spamschleuder erster > > Klasse verwandelst. Die mail()-Funktion selbst beinhaltet nämlich > > keinerlei Schutzfunktionen, wie z.B. vor allem die Verhinderung von > > Mail-Header-Einschleusung. > > Wie kann ich das verhindern? Eine einfache Maßnahme ist z.B. schon einmal, eine Mail nicht zu versenden, wenn Du "TO:"-, "CC:"- und "BCC:"-Angaben in einem der Feldinhalte entdeckst. > Da gebe ich Dir recht, ich kenne die Problematik. Diese Gefahr wird > gerne von den Auftraggebern unterschätzt. Ich werde Deine Mail gerne > an meinen Auftraggeber weitersenden damit er sieht, dass nicht nur > ich das mit der Spamgefahr sehe. Mein Auftraggeber ist der Meinung, > dass dies wahrscheinlich nicht so schlimm ist und falls es doch > schlimm wird, dann ergreift man halt dann Gegenmaßnahmen, aber dann > ist es eigentlich schon zu spät. Dann kann man sich eigentlich nur > noch eine neue E-Mail-Adresse zulegen. :-( Also es gibt zwei Folgen von Spamversand über ein Mailformular. Die größte Gefahr ist, daß ein Spammer über Dein Mailformular Spam an Dritte verschickt. Das muß unbedingt unterbunden werden, was auch nicht so schwierig ist. Daneben besteht natürlich die Möglichkeit, daß die im Mailformular hinterlegte Kontaktadresse selbst mit Spam zugemüllt wird, wenn wieder ein Spambot versucht, automatisch über das Mailformular Spam an Dritte zu versenden. Auch das läßt sich aber weitgehend in den Griff kriegen. Solche Spamversuche haben oft eindeutige Merkmale, z.B. findest Du plötzlich in einem Feld eine Eingabe, die "Content-Type: multipart/alternative;" enthält oder einen Link. Auch werden Felder wie Vorname, Nachname, Absenderadresse, Ort, Land etc. gerne mit demselben Wert belegt. Mit den Kriterien wirst Du weit über 90% der Spamversuche erkennen können. Es ist natürlich ratsam, für das Mailformular eine gesonderte Mailadresse zu verwenden, allerdings spielt das hinsichtlich des Spams über das Formular keine Rolle, weil die Adresse ja nur intern im Skript steht und nach außen nicht sichtbar wird. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive