kosovafan
Erfahrenes Mitglied
Hallo,
kann ich abschließend noch zwei Fragen stellen, zur Sicherheit des Kontaktformulares und damit auch den Kommentarfeld.
Anregungen, Kritik und Tipps sind willkommen:
Vielen Dank.
Silvio
kann ich abschließend noch zwei Fragen stellen, zur Sicherheit des Kontaktformulares und damit auch den Kommentarfeld.
Anregungen, Kritik und Tipps sind willkommen:
PHP:
// Verarbeitung des Formulares
<?php
require ("function.html");
$name = save("$_POST[name]");
$email = save("$_POST[email]");
$nachricht = save("$_POST[nachricht]");
// Ask for filled fields
if (isset($_POST['submit'])) {
$ausgabe = '';
$fehler = '';
if(isset($_POST['date']) && is_numeric($_POST['date'])) {
$posted = intval($_POST['date']);
$sendezeit = (time() - $posted);
if ($sendezeit < 10 || $sendezeit > 36000)
$ausgabe .= " <p>Sie benötigen genügend Zeit zum ausfüllen der Nachricht</p> ";
$fehler .= " <p>Spam möchte ich nicht in der Mailbox haben</p> ";
}
if (isset($name) && emptyis_array($name) && $name != '')
if (strlen($name) < 5) {
$ausgabe .= " <p>Ihr Name: ".htmlspecialchars($name)." </p> ";
} else {
$fehler .= " <p>Ihren Namen sollten Sie mir mit mindestens 5 Zeichen mitteilen!</p> ";
}
if (isset($email) && !is_array($email) && $email != '')
if(!check_email($email)){
$ausgabe .= "<p>Ihr Name: ".htmlspecialchars($email)." </p> ";
} else {
$fehler .= '<p>Ich benötige die Emailadresse!</p><br />';
}
if (isset($nachricht) && !is_array($nachricht) && $nachricht != '')
if (preg_match('/^[[:print:][:space:]]{20,}$/', $nachricht)) {
$ausgabe .= 'Ihre Mitteilung' . htmlspecialchars($nachricht) . "\n";
} else {
$fehler .= 'Ohne Nachricht brauchen Sie das Formular nicht zu nutzen!<br />';
}
if ($fehler == '') {
@mail("siefke@email.de", "Kontakt", "$nachricht", "From: $email");
echo " <h1>Vielen Dank für Ihre Nachricht!</h1> ";
exit();
}else {
echo " <h1>$fehler</h1> ";
}
}
?>
PHP:
// Die Funktion save
<?php
function save($wert)
{
$wert = trim($wert); // Entferne Leerzeichen an Anfang und Ende
$wert = strip_tags($wert); // HTML-Code entfernen
$wert = htmlentities($wert, ENT_QUOTES); // umwandeln von Anführungszeichen
$wert = stripslashes($wert); // Entfernen von überflüssigen Backslashes
return $wert;
}
?>
PHP:
// Funktion check Email
function check_email($email)
{
return eregi("^[_a-z0-9-]([-_.]?[a-z0-9])*@[a-z0-9]([-_.]?[a-z0-9])+[.][a-z0-9]+$",$email);
}
Vielen Dank.
Silvio