Auge: hilfe! mailform von robots erfasst :-(

Beitrag lesen

Hallo

<?php

if (isset($_POST)) {

foreach($_POST as $key=>$element) {
          ${"form_$key"} = $element;
   }

Du überprüfst keinen der übergebenen Werte auf Plausibilität und Gültigkeit? Tätest du es, dürfte dir (zumindest) ein Großteil des Spams erspart bleiben.

Formularfelder, die nur Ziffern enthalten dürfen, kannst du genau darauf prüfen. Formularelemente, aus denen heraus per Auswahl Text übergeben wird (z.B. <select ...><option value="text">Bla</option></select>) kannst du mit einem Array vergleichen, welches alle dort möglichen Werte enthält (Mit diesem könntest du die Auswahl auch zusammenbauen.). Text, von dem du nicht weißt, wie er aussehen wird, solltest du mindestens mit strip_tags() und htmlentities() entschärfen. Wird er in eine MySQL-DB eingetragen, muss er mit mysql_real_escape_string() behandelt werden, damit keine fremde MySQL-Anweisung  in der DB landet.

Dies ist nur ein sehr kleiner Exkurs in die Erfordernisse und Möglichkeiten der Formularprüfung. Aber mit einigen Stichworten wirst du auch erfolgreich an anderen Stellen suchen können.

Tschö, Auge

--
Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
(Victor Hugo)
Veranstaltungsdatenbank Vdb 0.1