Kontaktformular spam

BlackLady

Neuling
Thread Starter
Mitglied seit
23.09.2008
Beiträge
8
Hallo ihr,

ich hab seid Tagen das problem das ich lauter Spam Mails bekomme durch mein Kontaktformular auf meine HP.

Ich bin auf der suche nach einem Kontakformular mit Chapcha, vieleicht könnt ihr mir weiter helfen.
Oder es kann mir einer erklären wie ich in mein Kontakformular ein Chapcha einbaue,bin ja eigentlich mit meinem recht zufrieden. Bin leider nur in sachen PHP ein absoluter neuling

Code kann ich bei bedarf einstellen

danke schonmal
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Danke für die Seite, ich hab es auch gleich mal ausprobiert aber bei mir funkt das irgendwie nicht. Hab es auch jemand anderen probieren lassen aber der hat es auch nicht hinbekommen. Irgendwie stellen wir uns beide ein bischen dumm*schäm*
Haben eigentlich alles so gemacht wie auf der Seite beschrieben.

hier mal mein code mit dem chapcha eingebaut was aber ja nicht geht
PHP:
<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
   $char = substr($string, $i, 1);
   $keychar = substr($key, ($i % strlen($key))-1, 1);
   $char = chr(ord($char)+ord($keychar));
   $result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']); 

/* bis hierher captchateil */


          

// *** Deine Mailadresse (Empfänger) ***
$mail_to="test@web.de";
// *************************************

$from_name=$_POST['fromname'];
$from_mail=strtolower($_POST['frommail']);
$mail_subject=$_POST['mailsubject'];
$mail_text=$_POST['mailtext'];
$send=$_POST['s'];

if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";
if(trim($from_mail)=="")
  $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
  if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    $err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";

// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
  $mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$mail_subject=str_replace(chr(34),"''",$mail_subject);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if(($send=="1") && (isset($err_text))) {
  echo "<p><big><b>Fehler:</b></big><br>";
  echo "$err_text</p>";
}

if(($send!="1") || (isset($err_text)))
{
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=550>
<tr><td nowrap align=right>Dein Name:</td><td> </td>
<td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>
<tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>
<tr><td nowrap align=right>Betreff:</td><td></td>
<td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>
<tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
<td width=100%><textarea cols="40" rows="10" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>
<tr>
<td><img src="rechen-captcha.php"></td><td></td>
<td><input type="text" name="sicherheitscode" size="25"></td>
</tr>

<tr><td></td><td></td><td>
<input type="hidden" value="1" name="s">
<input type="submit" value="Nachricht versenden" name="submit">
</td></tr>
</table>
</form>

<p>
  <?php
} else {
  $header="From: $from_name <$from_mail>\n";
  $header.="Reply-To: $from_mail\n";
  $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";
  $header.="Content-Type: text/plain";
  $mail_date=gmdate("D, d M Y H:i:s")." +0000";
  $send=0;
  if(@mail($mail_to,$mail_subject,$mail_text,$header))
  {
    echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
  }else{
    echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";
  }
}
?>

das ist die fehlermeldung
Parse error: syntax error, unexpected $end in /www/htdocs/starsoks/test.php on line 232
das ist auf der seite die letzte zeile, und die ist aber leer.

Vieleicht kann mir jemand helfen

Gruß
 
Zuletzt bearbeitet:
1. Dein Code ist keine 232 Zeilen lang, daher bringt uns deine Fehlermeldung nichts.
2. Benutz für Code bitte das [PHP] oder [CODE] Tag, damit die Formatierungen erhalten bleiben und man den Code lesen kann.
3. Es heißt Captcha.
4. http://www.seidseit.de
 
1. Genau das ist ja das Problem, er meldet wirklich diese Zeile, auch wenn sie nicht vorhanden ist (Habe 1 Leerzeile dran die bei mir genau diese ist)

2. Habs geändert, wußte nicht das es solch einen Tag für Foren gibt.

3. Wie gesagt, von der Materie nahezu null Ahnung und wohl schlecht zugehört.

4. Nette Seite, zeugt von viel Freizeit der Leute :d Wird nicht wieder vorkommen, schaue ab jetzt auf jeden Buchstaben genau ;)
 
$end heisst in der Regel dass das Script am Ende der Datei angekommen ist, aber noch schliessende Klammern fehlen.
 
Eine einfache Abfrage, z. B. 3. Buchstabe von Test eingeben reicht bei meiner Website.
PHP:
	<br>3. Buchstabe von Website eingeben::
	<input type="text" name="test">
und dann einfach
PHP:
	if($test == "b")
	{  ...mail()... }

Ist doch einfacher als das Captcha, oder nicht?

(Nur als Alternative, falls du das Captcha nicht zum Laufen bringst.)
 
Zuletzt bearbeitet:
Man könnte auch nach Patterns filtern, dann bräuchte man seine User gar nicht zu nerven. Z.B. gibt es das Projekt CTracker, das Listen mit regulären Ausdrücken, URLs und Wörtern hat und alle Eingaben nach diesen filtert. Bei einem Treffer gibts eine Weiterleitung auf eine Stopp-Seite, die von Zensursula stammen könnte. ;)
Allerdings weiß ich nicht, ob diese Liste vom Autor noch aktiv gepflegt wird.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh