Auge: Kontaktformular

Beitrag lesen

Hallo

<form action="/cgi-std/mail.pl" method="post">
   <input type="hidden" name="recipient" value="emailadresse">
   <input type="hidden" name="subject" value="Aus WWW Formular">
   <input type="hidden" name="required" value="name der Eingabefelder">
   </form>

Bitte nicht, das sieht auf den ersten Blick so aus, als könnte da jeder den Empfänger manipulieren (sofern nicht serverseitig der recipient nochmal validiert wird) und über das Formular Spam verschicken.

Wie mache ich das dann am besten?

Situation

Du hast im Formular das Feld <input type="hidden" name="recipient" value="emailadresse">. Das Feld wird im verarbeitenden Skript (/cgi-std/mail.pl) als Angabe zum Empfänger übernommen. Wenn jemand über dein Skript Spam versenden will, generiert er eine Anfrage an das Skript mit einer kommaseparierten Liste von Emailadressen für das Feld „recipient“. Das Skript würde nun an alle diese Emailadressen Emails versenden.

Lösung (grundsätzlich)

Du gibst die Empfängeradresse – ich vermute mal, dass das deine Adresse sein wird – fest im Skript vor. Du brauchst dazu im Skript /cgi-std/mail.pl an geeigneter Stelle die Variable recipient mit deiner Emailadresse als Wert ($recipient = "ich@example.com";). Das HTML-Element <input type="hidden" name="recipient" value="emailadresse"> entsorgst du.

Für den Feinschliff und die Umschiffung etwaiger Klippen ist aber die Kenntnis des Codes des Skripts /cgi-std/mail.pl notwendig. Wenn du so nett wärst …

Tschö, Auge

--
Es schimmerte ein Licht am Ende des Tunnels und es stammte von einem Flammenwerfer.
Terry Pratchett, „Gevatter Tod“