Ingo Turski: Reservierungsformular

Beitrag lesen

Hi,

Also so klappts: formular.php

ist aber leider noch unschön und - was viel schlimmer ist - eine potentielle Spamschleuder.

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">

htmlspecialchars() ist hier unnötig und $_SERVER['PHP_SELF'] ist manipulierbar.

<p id="errmess"><?php if(isset($_out['error']['name'])) {echo $_out['error']['name'];} ?></p>

Auch wenn Tom meint, ein leerer Absatz stört nicht - ich sehe das anders: es wird ggfls. sinnloses Markup generiert. Dabei ist es doch so einfach, das <p /> mit über PHP ausgeben zu lassen.

und die reservation.php:

warum eine Extra-Datei?

mail($empfaenger, $subject, $mailtext, "From: ".$_POST['name']);

und hier haben wir den Ansatzpunkt zum Missbrauch als Spam-Schleuder: $_POST['name'] ist manipulierbar und kann an dieser Stelle zusätzliche Mail-Header einschleusen. Ich kenne Leute, denen ihr Provider ein solches Formular zum Glück stillgelegt hatte, bevor größerer Schaden entstehen konnte.

Ist das zu umständlich, oder ist das sauber "programmiert"?

teils-teils. Du kannst Dir vieles vereinfachen, indem Du möglichst allgemeingültige Funktionen erstellst. Durch Toms Hinweise bist Du schon auf dem richtigen Weg - Du musst ihn nur noch zu Ende gehen.

Einiges fehlt auch noch völlig, z.B. die "Demaskierung" von magic_quotes (sofern vorhanden) und die Berücksichtigung der Zeichenkodierung. Aber auch eine Syntax-Prüfung der Telefonnummer wäre nicht verkehrt (und könnte auch den ein oder anderen Spam-Bot abhalten).

Aber schau Dir mal meinen universellen Formmailer und die Erläuterungen an.

freundliche Grüße
Ingo