Mailformular absichern

Hallo,

ich habe ein simples Formular online gestellt, das automatisch eine Email mit den eingetragenen Daten an eine bestimmte Adresse schickt (mit der mail()-Funktion).

Wie kann ich nun verhindern, dass über dieses Mailformular Spam-Mails verschickt werden?
Die Möglichkeit, das Mailformular durch einen Login zu schützen, fällt aus, da es eigentlich für jedermann ausfüllbar sein sollte, ohne die Zugangsdaten zu kennen.

Ich möchte gerne verhindern, dass durch eine SQL-Eingabe in ein Textfeld die Emailadresse, an die das Formular geschickt wird, geändert werden kann.

Welche Möglichkeit gibt es da?

Grüsse
schuelsche

Moin…

ich habe ein simples Formular online gestellt, das automatisch
eine Email mit den eingetragenen Daten an eine bestimmte
Adresse schickt (mit der mail()-Funktion).
Wie kann ich nun verhindern, dass über dieses Mailformular
Spam-Mails verschickt werden?
Die Möglichkeit, das Mailformular durch einen Login zu
schützen, fällt aus, da es eigentlich für jedermann ausfüllbar
sein sollte, ohne die Zugangsdaten zu kennen.

kennst Du diese Bilder, wo man abtippen muss, was auf dem Bild steht?
sowas!

Ich möchte gerne verhindern, dass durch eine SQL-Eingabe in
ein Textfeld die Emailadresse, an die das Formular geschickt
wird, geändert werden kann.

hä? SQL im Eingabefeld? ^^
sorry aber das is blödsinn oder was hat Dein mailscript mit ner Datenbank zu schaffen…
und mal ehrlich - was Dein Webserver kann können hunderttausende im Internet auch…
Das interesse daran wird schätze ich recht gering sein…
Ausserdem solltest Du sowieso eine Absicherung reinbauen - z.b. dass die ip mitgeschickt wird…

Hallo,

hä? SQL im Eingabefeld? ^^
sorry aber das is blödsinn oder was hat Dein mailscript mit
ner Datenbank zu schaffen…

Mit der Datenbank hat das insofern was zu schaffen, weil da noch weitere notwendige Daten ausgelesen werden, die in die Mail dann mit hinein gepackt werden.

und mal ehrlich - was Dein Webserver kann können
hunderttausende im Internet auch…
Das interesse daran wird schätze ich recht gering sein…

Och… klar kann der das, was andere auch können. Aber zum Spammails versenden ist doch jeder Server recht, oder?!

Ausserdem solltest Du sowieso eine Absicherung reinbauen -
z.b. dass die ip mitgeschickt wird…

Und was fang ich dann mit der IP an?

Grüsse
schuelsche

Hallo,

kennst Du diese Bilder, wo man abtippen muss, was auf dem Bild
steht?
sowas!

Jep, das ist eine gute Idee - weisst Du zufällig, nach was ich da suchen muss bzw. wie der „Fachbegriff“ für diesen Schutz lautet?

Grüsse
schuelsche

Hallo,

Bildercodesperre oder Zufallsbild heisst das wohl…

Grüsse
schuelsche

Hi

Mit der Datenbank hat das insofern was zu schaffen, weil da
noch weitere notwendige Daten ausgelesen werden, die in die
Mail dann mit hinein gepackt werden.

aber kommen denn die Informationen aus dem Formular irgendwo in das SQL Statement? Eher unwahrscheinlich und wer würde überhaupt dahinter noch eine Datenbank vermuten?

Och… klar kann der das, was andere auch können. Aber zum
Spammails versenden ist doch jeder Server recht, oder?!

ja eben - dazu brauchts nicht unbedingt deinen…

Ausserdem solltest Du sowieso eine Absicherung reinbauen -
z.b. dass die ip mitgeschickt wird…

Und was fang ich dann mit der IP an?

Du nicht viel, aber Du kannst eben unter die mail schreiben:
„This mail was sent from ip x.y.z.a on Sat, 30.02.1799“
somit wird klarer rückverfolgbar von wo die email kam und man kann gezielter Jagd auf die Spammer machen. Das macht Dein Formmailer weitgehend uninteressant.
Aber Dein Sicherheitsdenken in ehren - es gibt genügend Anonymmailer im Internet for everyones use.
Warum sollte sich irgendjemand dann die Mühe machen Deinen zu hacken?

Hi,

Wie kann ich nun verhindern, dass über dieses Mailformular
Spam-Mails verschickt werden?
[…]
Ich möchte gerne verhindern, dass durch eine SQL-Eingabe in
ein Textfeld die Emailadresse, an die das Formular geschickt
wird, geändert werden kann.

Wenn Du nicht gerade nach dem Senden mit den eingegebenen Daten (ohne addslashes oder magic_quotes) Selects ausführst, sind SQL-Befehle wohl das kleinste Problem. Viel gefährlicher sind Mailheader-Injections, mit denen auch Massenmails versendet werden könnten und Dein Server zur Spamschleuder wird. Infos dazu und wie man solche Angriffe verhindert, findest Du hier:

http://www.drweb.de/webmaster/kontakt-formulare.shtml
http://it2.php.net/manual/de/ref.mail.php#59640

Schönen Gruß,
Rudy