Mailform von Spammer missbraucht

Slizzzer

Erfahrenes Mitglied
Hallo Forum!

Die Sünden der Vergangenheit holen einen manchmal unverhofft wieder ein! :-)
Hatte heute eine Mail von meinem Provider im Postfach, dass das Script zum Mailversandt zum Spammen misbraucht wurde zuzüglich diverser Drohungen, dass der Webspace geschlossen wird, wenn ich das nicht unverzüglich bereinige. Über den Ton werd ich nochmal ein Wörtchen mit den Heinis reden müssen :p .
Das Script entspricht im wesentlichen dem aus SelfPHP 1.0. Also ohne jegliche Sicherheitsmaßnahmen. Hatte es damals einfach übernommen und feddisch. Ich weiß, dass tut man nicht, aber der Zeitdruck zwingt einen manchmal zum Pfusch.

Hat mal jemand einen Link zu Tipps, wie man ein "sicheres" Kontaktformular wasserdicht programmieren kann?
Hier im Board hab ich schon gestöbert.

Danke!
 
Danke schonmal für die Antworten. In dem Log-file, auf das ich zugreifen kann, sind bei jedem Spamversuch andere IP-Adressen angegeben. Bringt mich irgendwie nicht weiter.
Aber hier mal der Code:

PHP:
<?
	 include("htmlhead.inc");
   include("modules/functions.inc");
   
   if($firma == NULL OR $ansprechpartner == NULL OR $fon == NULL OR  $mail == NULL)
   {
    meldung("Firma, Name, Telefon und Mail sind Pflichtfelder!", "JavaScript:history.back();");
   }
    else
   {  

	 //$geamessage = nl2br($message);
	 $mailto = "info@hanswurst.de";
	 $mailfrom = "Hans-Wursts-Webseite ".$ansprechpartner;
	 $subject = "Kontaktaufnahme per Kontaktformular";
	 $mailmessage = "Firma: ".$firma."\nAnsprechpartner: ".$ansprechpartner."\nAdresse: \n".$strasse."\n".$plz." ".$ort."\n\nTelefon: ".$fon."\nTelefax: ".$fax."\nE-mail: ".$mail."\n\nMitteilung: \n".$message."\n\nInfomaterial über: \n".$infoiab."\n".$infoarb."\n".$infoservice."\n".$infoeng."\n";
   $geamessage = nl2br($message);
   
	 echo "<br><br>\n";
	 $mitteilung = "<div style='text-align:left;padding-left:50;'><b><u>Folgende Angaben werden per mail versandt:</u></b><br>Ihre Firma: <b>$firma</b><br>\n";
   $mitteilung .= "Ihr Name: <b>$ansprechpartner</b><br>\n";
   $mitteilung .= "Adresse: <b>$strasse, \n$plz $ort</b><br>\n";
   $mitteilung .= "Ihre Telefonnummer: <b>$fon</b><br>\n";
   $mitteilung .= "Ihre Telefaxnummer: <b>$fax</b><br>\n";
   $mitteilung .= "Ihre Mail-Adresse: <b>$mail</b><br>\n";
   $mitteilung .= "Ihre Mitteilung:<br><b>$geamessage</b><br></div>\n";
   
   meldung($mitteilung, "index.php");

     $header="From:$mailfrom<$mail>\n";
     $header .= "Cc: hans.wurst@hanswurst.de\n";   
     mail($mailto,$subject,$mailmessage,$header);
   }
   
	 include("htmlfoot.inc");
?>
 
1. Benutze nicht get sondern POST in dein formular.
2. Benutze nicht $variable sondern $_POST["variable"]
3. Mach ein referre prüfung damit die post nur von deine formular kommen darf.

Zur deine provider:
register_globals = Off

Das war auch dein fehler aber beim provider konnen die auch nix.

Ich ausländer, aber helfe wenn ich kann :)
 
Zurück