Hallo,
Zou iemand mij kunnen helpen om onderstaand script spamsafe te krijgen? Ik heb natuurlijk al wel op de site gekeken naar de spam vrij contact formulier, maar ik weet niet waar ik die tussen moet voegen.
<?php
// Vul hier uw eigen e-mail adres in.
$ontvanger = "[email protected]";
// Deze code haalt de informatie uit het formulier.
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
// Dit is voor het e-mail programma dat je kunt zie van wie de mail afkomstig is en dat
// je kunt re- playen op de mail.
$verzender = "From: ".$naam." <".$email.">";
// Dit stukje code verzend het script
mail($ontvanger,$onderwerp,$bericht,$verzender);
// Vul je de link in.
$link = "index.html";
// Dit redirect je naar een andere pagina.
echo "<meta http-equiv='refresh' content='0; url=$link'>";
?>
En de juiste oplossing, maar waar hoortie? Ik zou je erg dankbaar zijn om mij te leren op welke plek ik het moet tussenvoegen!
<?
$name = stripslashes($_POST["name"]);
$email = stripslashes($_POST["email"]);
if(isEmail($email)) // Merk op dat een 'goed' emailadres zowiezo nooit een [enter] of quote kan bevatten
{
$header = "From: \"" . protectMailHeaders($name) . "\" <" . $email . ">";
}
else // Fout afhandelen
{
exit("Ongeldig emailadres");
}
function protectMailHeaders($string)
{
$string = str_replace("\n", "", $string); // Verwijder \n
$string = str_replace("\r", "", $string); // Verwijder \r
$string = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $string)); // Slashes van quotes
return $string;
}
function isEmail($string)
{
$result = false;
if($string != "")
{
$expr = "/^([a-zA-Z0-9]){1,}(([a-zA-Z0-9\-_])|(([\.]){1,1}
-opmaakbreak-
([a-zA-Z0-9]){1,})){0,}([@]){1,1}([a-zA-Z0-9]){1,}
-opmaakbreak-
(([a-zA-Z0-9\-_])|(([\.]){1,1}([a-zA-Z0-9]){1,})){0,}
-opmaakbreak-
([\.]){1,1}([a-zA-Z0-9]){2,4}$/";
if(preg_match($expr, $string)) // voldoet aan expressie
{
$result = true;
}
}
return $result;
}
?>
1.542 views