PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spamschutz bei Kontaktformular


Socrates
11.01.2007, 23:41:57
Hi!
Ich habe mich mal um einen Spamschutz für mein Kontaktformular bemüht, der allerdings nicht Funktioniert! Es gibt allerdings keine Fehlermeldungen! Wäre für eure Hilfe dankbar!
Hier der Code:

<?php
$timestamp = time();
$time = date("Y-m-d H:i:s",$timestamp);
$abmail = $_POST["abma"];
$absender = $_POST["ab"];
$absender .= "<";
$absender .= $_POST["abma"];
$absender .= ">";
$empfaenger = $_POST["em"];
$reply = 'JUF MAILER<redway@puk.de>';
$betreff = $_POST["be"];
$mail = $_POST["ma"];
$mail .= "</br><table border=\"0\" width=\"300\"><tr><td><hr>";
$mail .= "<font face=\"Arial\" color=\"#000000\" size=\"2\">Besucht das&nbsp;</font><font face=\"Arial\" color=\"#e80000\" size=\"2\"><b>Junge Forum</b></font></br>";
$mail .= "<a href=\"http://www.puk.de/redway\"target=\"_blank\"><font face=\"Arial\" color=\"#000000\" size=\"2\">http://www.puk.de/redway</font></a></td></tr></table>";
$mail = stripslashes($mail);
$mail = nl2br($mail);
$mail = str_replace("\n","",$mail);
$mail = str_replace("\r","",$mail);
$mail = str_replace("\t","",$mail);
$mail = str_replace("\v","",$mail);
$mail = str_replace("\0","",$mail);
$mail = str_replace(" "," ",$mail);
$mail = ereg_replace("ä","&auml;",$mail);
$mail = ereg_replace("ü","&uuml;",$mail);
$mail = ereg_replace("ö","&ouml;",$mail);
$mail = ereg_replace("Ä","&Auml;",$mail);
$mail = ereg_replace("Ü","&Uuml;",$mail);
$mail = ereg_replace("Ö","&Ouml;",$mail);
$mail = ereg_replace("ß","&szlig;",$mail);

$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$header .= 'From:' . $absender . "\r\n";
$header .= 'Reply-To:' . $reply . "\r\n";
$header .= 'Return-Path: <redway@puk.de>' . "\r\n";
$header .= 'Sender: JUF Mailer<redway@puk.de>' . "\r\n";
$header .= 'Organisation: Junges Forum' . "\r\n";
$header .= 'Date:' . $time . "\r\n";
$header .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$header .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\r\n";

$meins = $abmail;
$finden = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/';
$lol= strpos($meins, $finden);

if ($lol === false)
{

echo "
<font face=\"Arial\" size =\"2\" color=\"#e80000\">
<b>Absender:&nbsp;&nbsp;</b>
</font>
<font face=\"Arial\" size =\"2\" color=\"#000000\">
$absender
</font>
</br>
<font face=\"Arial\" size =\"2\" color=\"#e80000\">
<b>Empf&auml;nger E-Mail Adresse:&nbsp;&nbsp;</b>
</font>
<font face=\"Arial\" size =\"2\" color=\"#000000\">
$empfaenger
</font>
</br>
<font face=\"Arial\" size =\"2\" color=\"#e80000\">
<b>Betreff:&nbsp;&nbsp;</b>
</font>
<font face=\"Arial\" size =\"2\" color=\"#000000\">
$betreff
</font>
</br>
<font face=\"Arial\" size =\"2\" color=\"#e80000\">
<b>Nachricht:</b>
</font>
</br>
<font face=\"Arial\" size =\"2\" color=\"#000000\">
$mail
</font>
</br>
</br>
";

mail($empfaenger, $betreff, $mail, $header);
}
else
{
echo 'Bitte keine Spammails verschicken!';
}
?>

MfG, Andy

Opendix
11.01.2007, 23:53:12
$finden = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/';
$lol= strpos($meins, $finden);



was willst du den damit erreichen?



$mail = str_replace("\n","",$mail);
$mail = str_replace("\r","",$mail);
$mail = str_replace("\t","",$mail);
$mail = str_replace("\v","",$mail);
$mail = str_replace("\0","",$mail);
$mail = str_replace(" "," ",$mail);
$mail = ereg_replace("ä","&auml;",$mail);
$mail = ereg_replace("ü","&uuml;",$mail);
$mail = ereg_replace("ö","&ouml;",$mail);
$mail = ereg_replace("Ä","&Auml;",$mail);
$mail = ereg_replace("Ü","&Uuml;",$mail);
$mail = ereg_replace("Ö","&Ouml;",$mail);
$mail = ereg_replace("ß","&szlig;",$mail);



öhm... http://ch2.php.net/htmlentities !?!?