phpbar.de logo

Mailinglisten-Archive

[php] Wie kann man verschiedene Daten aus einem Formular verknüpfen.

[php] Wie kann man verschiedene Daten aus einem Formular verknüpfen.

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mon Mai 7 22:18:49 CEST 2007


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