Thomas Luethi: Herkunfstüberprüfung und Variablenüberprüfung

Beitrag lesen

Hallo,

Hat aber den Nachteil, dass rein theoretisch jeder darüber Mails verschicken kann.

Der wirksamste Schutz - und das solltest Du eigentlich laengst wissen, weil ich
es schon einmal erklaert habe und Du es zur Kenntnis genommen hast - ist, die
E-Mail-Adresse des Empfaengers im Skript und nicht im Formular zu codieren.
Alles andere ist sehr gefaehrlich.

Z.B. zu schauen, was im Referrer steht.
http://www.php.net/manual/de/reserved.variables.php#reserved.variables.server
$_SERVER['HTTP_REFERER']
Wenn der Referrer leer ist oder unmittelbar vor dem ersten Slash nach http://
eine Deiner beiden Domains enthaelt, wird das Formular verschickt, sonst nicht.
D.h. leer, http://*.DeineDomain1/* und http://*.DeineDomain2/* waeren OK.

Bedenke aber, dass der Referrer gefaelscht werden kann, und dass gerade die
"richtig boesen Jungs" a.k.a. Spammer einen leeren oder eben einen gefaelschten
Referrer angeben werden, um Dein Skript zu missbrauchen. Also lass es lieber sein.

http://www.dclp-faq.de/q/q-http-referer.html

Wie kann ich erreichen, dass ALLE Name-Wert Paare übermittelt werden, ohne dass ich diese vorher hier rein schreiben muss?

Mach eine foreach()-Schleife fuer $_POST (falls Du method="POST" verwendest,
was bei Feedback-Formularen und dergleichen sicher am sinnvollsten ist, sobald
man eine Textarea hat).

http://www.php.net/manual/de/control-structures.foreach.php

Gruesse,

Thomas

--
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/