Hello,
Wenn Du Dir die Gästebucheinträge anschaust, kannst Du sehen, dass ich dort mehrere eMail-Adressen eintragen konnte. Es steht zu vermuten, dass ich auch einen kompletten modifizierten Header (für die email) übertragen und eintragen lassen kann. Der würde dann bei einer Bestätigungsmail einfach übernommen werden und so könnte ich das Script für meine Zwecke als Spammer missbrauchen.
Ich dachte ich löse das Problem einfach, in dem ich die Zeichenzahl begrenze, das Emailfeld hat nur 50 Zeichen, meinst Du das reicht? Ansonsten werden keine Bestätigungen geschickt, es ist wirklich nur ein einfaches Mailto.
Du müsstest mindestens überprüfen, ob die übersandten Daten nur genau ein '@' enthalten, dass nicht am Anfang der Zeichenkette stehen darf und dass kein CRLF oder auch nur CR oder LF drinsteht, denn das wären dann Steuerzeichen für den Mail-Header. Danach würde ein neuer beginnen, der ggf. schädliche Dinge enthält.
Das gilt alles nur, wenn Du eine eMail mit der email-Adresse aus dem Formular als Ziel oder Absender oder sonstige Angabe, die im Header landet, versendest. Wenn der User ein Subject angeben kann, sit das genauso gefährdend.
Die Länge des Feldees auf 50 Zeichen zu begrenzen hätte nur Sinn in der serverseitigen Routine, nicht jedoch mittels size- oder maxlenght-Attribut im Formular. Das Formular habe ich zum Posten meiner Einträge nämlich gar nicht benutzt, sondern ein eigenes. Das lässt sich eigentlich auch nicht vermeiden. Dazu hatten wir hier schon einmal heftig diskutiert.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau