nonono
Goto Top

Mail-Formulare vor Spam Nutzung schützen

In meiner Internetseite werden seit einiger Zeit die Kontaktformulare dazu genutzt, um statt Kundenanfragen Spammails von dubiosen Seiten zu senden.
Dass heisst wahrscheinlich sind irgendwelche Typen mit hilfe eines Scripts daran in sämtliche Felder Internetadressen und irgendwelchen Quatsch einzutragen.
Ich habe die Formularseiten tägl. mehrfach umbenannt und auch das Mailscript, aber es bleibt nicht aus.
Hat jemand eine Lösung, z.B. mittels eines generierten Zufallscodes o.ä. der händisch eingegeben werden muss,damit dies unterbunden werden kann.
Hat Jemand ein Perl Script ?

Content-Key: 59134

Url: https://administrator.de/contentid/59134

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: Iwan
Iwan 16.05.2007 um 10:40:25 Uhr
Goto Top
wie wäre es, wenn man vor dem Abschicken noch so ein Zufallscode eingeben muss?
http://www.testticker.de/ipro/praxis/netzwerke/article200503100593.aspx
http://www.tutorials.de/forum/php-tutorials/63349-bildercodesperre.html
ansonsten mal selber google'n face-wink
Mitglied: nonono
nonono 16.05.2007 um 11:05:18 Uhr
Goto Top
Danke - ich suche eine Lösung nicht mit einer Farbbilddatei, sondern Text code. Weisst Du da etwas? Kannst Du mir gfs. beim Einbau in die Seite behilflich sein?
Bin im Skype: ahcounterhome

Danke
Mitglied: Iwan
Iwan 16.05.2007 um 13:15:48 Uhr
Goto Top
sorry, aber so bewandert bin ich in PHP leider nicht, aber was ist denn, wenn Du einfach eine weisse Bilddatei nimmst oder halt eine, die farblich zur Homepage passt?
Mitglied: Dani
Dani 16.05.2007 um 18:02:33 Uhr
Goto Top
Hi,
da habe ich dir eine Lösung:
Hier mal der PHP-Code für die Erzeugung eines Codebilders mit Zahlen und Buchstaben, ganz einfach:
/*Erzeugen des Code-Bildes*/
$string = array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0");  

/*Fügt die Zufallszahlen zu eine*/
for($i = 1;$i <= 6;$i ++)
 {
  $position=rand(0, 61);
  $text.=$string[$position]." ";  
  $dateiname.=$string[$position];
 }
  
/*Code in die Datenbank schreiben*/
  
$sql="INSERT INTO `hp_kontakt_codes` (`id`, `code`) VALUES (NULL, '".$dateiname."');";  
mysql_query($sql)OR DIE("Fehler bei der SQL Abfrage:&nbsp;".mysql_error());  
  
  
/*Breite - Höhe*/
$pic=ImageCreate(108,20);

/*Schriftfarbe*/
$front=ImageColorAllocate($pic,0,0,0); 

/*Hintergrundfarbe*/
$back=ImageColorAllocate($pic,127,255,0);

/*Erzeugt ein Rechteck*/
ImageFilledRectangle($pic, 0, 0, 500, 22, $back); 

/*ERzeugt die Schrift*/
ImageString($pic, 5, 4, 2, $text, $front); 

/*Bild wird erzeugt und in Ordner (images/codes) abgespeichert*/
Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");   
Header("Content-type: image/jpeg");   
ImageJPEG($pic, "images/codes/".$dateiname.".jpg");  
Danach wird das Formular abgeschickt. Hier wird der Code mit dem in der MySQL - Datenbanktabelle verglichen und ausgewertet.
$sql="SELECT `code` FROM `hp_kontakt_codes` WHERE code='".$_POST['code']."';";  
$result=mysql_query($sql) OR DIE("Fehler bei der SQL Abfrage:&nbsp;".mysql_error());  
  
if(mysql_num_rows($result) > 0)
 {
  $code_ok=true;
  $sql="DELETE FROM `hp_kontakt_codes` WHERE code='".$_POST['code']."';";  
  mysql_query($sql) OR DIE("Fehler bei der SQL Abfrage:&nbsp;".mysql_error());  
 }
else
 {
  $code_ok=false;
 }
Bei funktioniert das schon seit Monaten ohne Probleme und der Code wird nicht direkt im Formular übermittelt.


Gruß
Dani
Mitglied: nonono
nonono 16.05.2007 um 18:22:20 Uhr
Goto Top
Hallo Dani,

danke für denk Code - wenn ich richtig verstanden habe setze ich den code so in den HTML code ins Formular direkt vor dem Submit ein?

Danke für die Mühe

Gruss

nonono
Mitglied: Dani
Dani 16.05.2007 um 18:26:51 Uhr
Goto Top
Hi!
Genau...aber nur den 1.Block. Den 2.Block auf der weiterführenden Seite, die nach dem Submit ausgeführt wird.


Gruß
Dani
Mitglied: Iwan
Iwan 21.05.2007 um 18:49:20 Uhr
Goto Top
schade, aber ich kriege es bei mir im GB nicht hin
es ist das 4nGuestbook, als Erweiterung zu NukePHP
er zeigt mir einfach den Code nicht an
eine Grafik wird auch nicht erzeugt und auch nix in die DB reingeschrieben