Hallo,
ich bastel gerade an einer kleinen Webpräsenz. Dort steht mir nur PHP zur Verfügung. Auf dieser Seite würde ich gerne ein Kontaktformular einbinden und bin dann darauf gestoßen.
http://aktuell.de.selfhtml.org/artikel/php/form-mail/
<?php
/**
* Konfiguration
*
* Bitte passen Sie die folgenden Werte an, bevor Sie das Script benutzen!
*
* Das Skript bitte in UTF-8 abspeichern (ohne BOM).
*/
// An welche Adresse sollen die Mails gesendet werden?
$zieladresse = 'IhrName@EXAMPLE.com';
// Welche Adresse soll als Absender angegeben werden?
// (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben)
$absenderadresse = 'ihrAndererName@EXAMPLE.com';
// Welcher Absendername soll verwendet werden?
$absendername = 'Formmailer';
// Welchen Betreff sollen die Mails erhalten?
$betreff = 'Feedback';
// Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden?
// Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben!
$urlDankeSeite = 'http://www.EXAMPLE.com/IhrName/IhreSeite.htm';
// Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen?
$trenner = ": "; // Doppelpunkt + Tabulator
/**
* Ende Konfiguration
*/
if ($_SERVER['REQUEST_METHOD'] === "POST") {
$header = array();
$header[] = "From: ".mb_encode_mimeheader($absendername, "utf-8", "Q")." <".$absenderadresse.">";
$header[] = "MIME-Version: 1.0";
$header[] = "Content-type: text/plain; charset=utf-8";
$header[] = "Content-transfer-encoding: 8bit";
$mailtext = "";
foreach ($_POST as $name => $wert) {
if (is_array($wert)) {
foreach ($wert as $einzelwert) {
$mailtext .= $name.$trenner.$einzelwert."
";
}
} else {
$mailtext .= $name.$trenner.$wert."
";
}
}
mail(
$zieladresse,
mb_encode_mimeheader($betreff, "utf-8", "Q"),
$mailtext,
implode("
", $header)
) or die("Die Mail konnte nicht versendet werden.");
header("Location: $urlDankeSeite");
exit;
}
header("Content-type: text/html; charset=utf-8");
?>
Funktionieren tut das ganze soweit problemlos. Meine Frage ist allerdings, ob das ganze auch halbwegs sicher ist oder ob ich damit den Grundpfeiler für eine Spamschleuder sondergleichen gieße.
Absenderadresse und Zieladresse, werden ja per Variablen besetzt.
Ist es z.B. Möglich, dass jemand diese variablen mit Request-Parametern überschreiben kann?
Oder ist daran irgendwas anderes nicht mehr ganz up-to-date?
Habe nicht wirklich viel mit PHP am Hut.
Besten Dank