#1 26. April 2007 gästebuch spamschutz hallo RR'ler also ich habe ein gästebuch auf djzylo.ch und dort ist alles voller spam hat da jemand irgend ein code oder so für mich mfg JuTzI666 + Multi-Zitat Zitieren
#2 26. April 2007 AW: gästebuch spamschutz Kenn ich, mach einfach ein weiteres input feld, in dem man z.b. 1212 eingeben muss! und wenn dies nicht machen, dann bauste in dein script ein if ($code =! '1212') ... und dann is gut, die bots kriegen das nämlich nicht hin Gruß saNz + Multi-Zitat Zitieren
#3 26. April 2007 AW: gästebuch spamschutz ja und dann der code? <input type="text" id="code" name="code" maxlenght="4"> dann if ($code =! '1212'); else "gb_insert.php"; + Multi-Zitat Zitieren
#4 26. April 2007 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: gästebuch spamschutz Wirklich perfekten Schutz gibt es nicht, aber nutzt z.B. die SuFu ... da findeste diesen Thread hier PHP: IP sperre - RR : Board [/ URL ], oder schaust dir mal TEXT_Captcha von pear . php . net an , oder im quakenet php toturial ist dazu auch ein bißchen inhalt angegeben . + Multi-Zitat Zitieren
#5 26. April 2007 AW: gästebuch spamschutz ich kann da nur Vorwort - Captcha Tutorial - stoppt-den-spam.info empfehlen den nutze ich auf allen seiten klein,schnell eingebaut, wirklungsvoll + Multi-Zitat Zitieren
#6 26. April 2007 AW: gästebuch spamschutz Dr. Lovejoy, sowas habe ich bereits oben beschrieben...mit der Einschränkung jedoch dass es einfach keinen perfekten Spamschutz gibt und auch Captchas sind fast immer von Bots zu knacken! + Multi-Zitat Zitieren
#7 27. April 2007 AW: gästebuch spamschutz also ich habe jetzt ein spam-schutz script gefunden und zwar das: spam-schutz.php PHP: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN"> <html> <head> <title>Spam-Schutz</title> <script type="text/javascript"> function eingaben_ueberpruefen(){ if (document.Form.eingabe.value.length != 5){ alert("Bitte geben Sie den Code ein!"); document.Form.eingabe.focus(); return false; } else return true; } function RND(){ Zufall = Math.round(Math.random()*11+1); document.Form.code.value=Zufall; return Zufall; } </script> </head> <body onLoad="document.Form.eingabe.focus();"> <h2>Spam-Schutz</h2> <?php // Spam-Schutz $eingabe = @ $_POST [ "eingabe" ]; $eingabe = strtolower ( $eingabe ); $code = @ $_POST [ "code" ]; if(@ $_POST [ "eingabe" ] != "" ){ $chluessel [ 1 ] = "dsnxn" ; $chluessel [ 2 ] = "tepsh" ; $chluessel [ 3 ] = "5fwnb" ; $chluessel [ 4 ] = "fs7ha" ; $chluessel [ 5 ] = "5ress" ; $chluessel [ 6 ] = "ywyyw" ; $chluessel [ 7 ] = "lcvr7" ; $chluessel [ 8 ] = "gskaw" ; $chluessel [ 9 ] = "u7twn" ; $chluessel [ 10 ] = "4x8uw" ; $chluessel [ 11 ] = "wtwem" ; $chluessel [ 12 ] = "ehewh" ; // Weitere Schlüssel ab hier eingeben! // Überprüfung if ( $chluessel [ $code ] == $eingabe ) { echo "<font color=blue>Die Eingabe war richtig.</font>" ; } else { echo "<font color=red>Die Eingabe war falsch!</font>" ; } } ?> <form name="Form" action="<?php echo $_SERVER [ "PHP_SELF" ]; ?>" method="post" onSubmit="return eingaben_ueberpruefen(this.form)"> <table> <tr> <td>Bitte den Bilder-Code eingeben! <small></small></td> <td> <input type=hidden name="code"> <script type="text/javascript">document.write('<img src="'+RND()+'A.gif" width=210 height=50>');</script> </td> </tr> <tr> <td></td> <td><input type=text name="eingabe" style="text-transform: uppercase;"></td> <tr> <th colspan=2> <br> <input type=submit> <input type=reset> </th> </tr> </table> </form> </body> </html> aber wie kann ich das in meine gb_add.php includen, damit es auch nur noch einen submit button gibt...? gb_add.php PHP: < style type = "text/css" > <!-- . Stil3 { font - size : 20px ; font - weight : bold ; } . Stil4 { font - family : Arial , Helvetica , sans - serif } --> </ style > < h2 class= "Stil4" >& nbsp ;</ h2 > < form action = "index.php?fools=gb_insert" method = "post" class= "formular Stil4" > < table width = "387" height = "144" border = "0" cellpadding = "0" cellspacing = "0" > < tr > < td colspan = "3" >< div align = "center" class= "Stil3" > Eintrag ins Gästebuch hinzufügen </ div ></ td > </ tr > < tr > < td width = "7" >& nbsp ;</ td > < td width = "98" >& nbsp ;</ td > < td width = "282" >& nbsp ;</ td > </ tr > < tr > < td >& nbsp ;</ td > < td > Name </ td > < td >< input name = "Name" type = "text" id = "name" maxlength = "15" /></ td > </ tr > < tr > < td >& nbsp ;</ td > < td > Email </ td > < td >< input type = "text" name = "Email" id = "email" /></ td > </ tr > < tr > < td >& nbsp ;</ td > < td > Homepage </ td > < td >< input type = "text" name = "Homepage" id = "homepage" /></ td > </ tr > < tr > < td >& nbsp ;</ td > < td > Beitrag </ td > < td >< textarea name = "Text" rows = "10" id = "beitrag" ></ textarea ></ td > </ tr > < tr > < td >& nbsp ;</ td > < td >& nbsp ;</ td > < td >& nbsp ;</ td > </ tr > < tr > < td >& nbsp ;</ td > </ tr > < tr > < td >& nbsp ;</ td > < td >& nbsp ;</ td > < td >& nbsp ;</ td > </ tr > < tr > < td >& nbsp ;</ td > < td >< input type = "submit" name = "submit2" value = "Speichern" onclick = "alert('Sinlose Beiträge werden umgehend gelöscht! © The Fools');" ></ td > < td >< input type = "reset" name = "submit" value = "Zurücksetzen" /></ td > </ tr > < tr > < td >& nbsp ;</ td > < td >& nbsp ;</ td > < td >& nbsp ;</ td > </ tr > </ table > </ form > falls ihr die gb_insert.php auch nocht brauch das wäre diese datei: gb_insert.php PHP: <div align="center"> <?php include( "connect.inc.php" ); if(!isset( $_POST [ 'Name' ], $_POST [ 'Email' ], $_POST [ 'Homepage' ], $_POST [ 'Text' ])) { die( "Bitte Benutzen sie das Formular aus dem Gästebuch\n" ); } if( trim ( $_POST [ 'Name' ]) == "" ) { die( "Bitte geben sie einen Namen ein" ); } if( trim ( $_POST [ 'Text' ]) == "" ) { die( "Bitte geben sie einen Text ein" ); } $sql = "INSERT INTO `gaestebuch` (`Name` , `Email` , `Homepage` , `Inhalt` , `Datum`) VALUES ( '" . addslashes ( htmlspecialchars ( $_POST [ 'Name' ])). "', '" . addslashes ( htmlspecialchars ( $_POST [ 'Email' ])). "', '" . addslashes ( htmlspecialchars ( $_POST [ 'Homepage' ])). "', '" . addslashes ( htmlspecialchars ( $_POST [ 'Text' ])). "', NOW( ))" ; mysql_query ( $sql ) OR die( mysql_error ()); echo "<p>Vielen Dank für ihren Eintrag.</p>\n" ; echo "<p><a href=\"index.php?fools=guestbook\">Zurück ins Gästebuch</a></p>\n" ; ?> </div> mfg JuTzI666 + Multi-Zitat Zitieren
#8 27. April 2007 AW: gästebuch spamschutz servus, hier hast ein sehr sehr gutes tutorial: http://bwir.de/sonstiges/phpspamundhackschutz jedoch wurde mein spamschutz schon nach wenigen tagen auch von bots geknackt. also ein wirklich sicherer schutz gibt es nicht, höchstens du machst was wo der enduser rechnen oder raten muss: bsp: also bild ein simples haus, baum, auto etc ... und dann fragen, was ist auf dem bild zu sehen. oder wie ist das ergebnis der folgenden aufgabe: 1 + 2; 2 + 2. aufgaben die jeder mensch rechnen kann gruß wollknoll + Multi-Zitat Zitieren
#9 27. April 2007 AW: gästebuch spamschutz jop ist ja fast genau das selbe welches ich habe...doch könntest du mir sowas coden mit den rechnungen oder so? + Multi-Zitat Zitieren
#10 27. April 2007 AW: gästebuch spamschutz Wie ich nun bereits mehrfach sagte sind das zum Einen Captchas, und zum Anderen ... jemand der dein GB spammen will, wird das auch trotz CAPTCHA können .... Ich poste dir hier mal meinen Captcha Adapter des PEAR - Paketes "TEXT_CAPTCHA" ... ...edit und die CaptchaException+fatalException sind nur Kindklassen die von der PHP - Exception erben. + Multi-Zitat Zitieren
#11 27. April 2007 AW: gästebuch spamschutz ich habe diese datei includet... Fehler: Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /usr/export/www/vhosts/funnetwork/hosting/thefools/The Fools/guestbook/CaptchaAdapter.php on line 25 + Multi-Zitat Zitieren
#12 27. April 2007 AW: gästebuch spamschutz jo ich habs nicht getestet, hier mal der code. musst natürlich noch deine schrift anpassen und in das verzeichnis des scriptes legen (beech.ttf oder andere halt): PHP: <? PHP header ( "Content-type: image/gif" ); session_start (); // Startet die Session $grafik = ImageCreate ( 100 , 100 ); // Erzeugt ein 100x100px großes Bild $hintergrundfarbe = ImageColorAllocate ( $grafik , 255 , 0 , 0 ); // Definiert die Farben $schriftfarbe = ImageColorAllocate ( $grafik , 0 , 255 , 0 ); // in RGB-Schreibweise ImageTTFText ( $grafik , 20 , 0 , 15 , 70 , $schriftfarbe , "/beech.ttf" , $_SESSION [ 'zahl1' ]. " " . $_SESSION [ 'operator' ]. " " . $_SESSION [ 'zahl2' ]); // Code aus der Session in die Grafik schreiben ImageGif ( $grafik ); // Grafik erzeugen imagedestroy ( $grafik ); // Zwischenspeicher löschen ?> PHP: <? PHP session_start (); // Session starten // Überprüfung des Prüfcodes, falls das Formular ausgefüllt wurde if (isset( $_POST [ 'submit' ])){ if ( $_POST [ 'pruefcode' ] == $_SESSION [ 'ergebnis' ]){ echo "Der eingegebene Prüfcode ist richtig<br>" ; // Aktionen, wenn Prüfcode richtig ist } else { echo "Der eingegebene Prüfcode ist falsch<br>" ; // Aktionen, wenn Prüfcode falsch ist } } // Ende der Formularüberprüfung $_SESSION [ 'zahl1' ] = rand ( 0 , 5 ); // Prüfcode erzeugen und in der Session speichern $_SESSION [ 'zahl2' ] = rand ( 0 , 5 ); // Prüfcode erzeugen und in der Session speichern $_SESSION [ 'operator' ] = ( rand ( 1 , 0 )) ? '+' : '-' ; switch( $_SESSION [ 'operator' ]) { case '+' : $ergebnis = $_SESSION [ 'zahl1' ] + $_SESSION [ 'zahl2' ]; break; case '-' : $ergebnis = $_SESSION [ 'zahl1' ] - $_SESSION [ 'zahl2' ]; break; } $_SESSION [ 'ergebnis' ] = $ergebnis ; ?> PHP: < html > < head > < title > Formularseite </ title > </ head > < body > < img src = "code.php" > < form method = "POST" > < input type = "text" name = "pruefcode" >< br > < input type = "submit" name = "submit" > </ form > + Multi-Zitat Zitieren
#13 27. April 2007 AW: gästebuch spamschutz Mh das ist die Zeile wo der Konstruktor aufgerufen wird, ich vermute du benutzt php kleiner als version 5 ... Quatsch Konstruktur, da wird einfach eine funktion deklariert und anscheind versteht deine version das "static" nicht. + Multi-Zitat Zitieren
#14 28. April 2007 AW: gästebuch spamschutz ich teste es kurz thx mal und bw habt ihr... doch würde es nicht gehen, wenn man sich registrieren muss, und nur durch die registration in die gb.php kommt? mfg JuTzI666 + Multi-Zitat Zitieren
#15 28. April 2007 AW: gästebuch spamschutz ?? was hat das mit der registration bzw login zu tun. du frägst ja vorher ab, ob der user eingeloggt ist bzw registriert und dann gehts normal weiter ... denke das haut aber schon hin! gruß wollknoll + Multi-Zitat Zitieren
#16 28. April 2007 AW: gästebuch spamschutz Um die Frage des Threaderstellers zu beantworten, nur weil ein User registriert ist, heißt nicht dass er nicht auch spammt! Muss ja nochnichtmal extra passieren. + Multi-Zitat Zitieren