#1 10. Januar 2011 Spammer / Nervensägen aus dem Gästebuch für immer bannen Hallo liebe Damen und Herren, ich suche eine möglichkeit andere Leute aus meinem komplettem Gästebuch zu bannen. Wie ich erfahren habe, kann man das am besten mit Cookies machen. Nun die frage, weiss jemand wie man ein Cookie machen kann, dass einen User für immer aus der und der Seite aussperrt? (Dass sozusagen das Cookie den Zugriff auf mein Gästebuch verhindert) MfG Edit: PHP und HTML sind also auswahl möglich! (Homepage besteht 50% aus PHP und 50% aus HTML) + Multi-Zitat Zitieren
#2 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen cookie is schwachsinn, ich denke du meinst captcha. recaptcha kinderleichte api + Multi-Zitat Zitieren
#3 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Weisst du, es geht eben darum, dass ich heute über 50 blöde Kommentare löschen durfte. Und da will ich jetzt einen Schlussstrich ziehen. Wie? Indem ich sie möglichst Dauerhaft bannen will. + Multi-Zitat Zitieren
#4 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen achso du willst echte menschen banne, das is was anderes. da helfen cookies aber auch nciht wirklich, weil man die nach belieben selbst löschen kann. am besten du baust eine e-mail bestätigung ein und bannst dann nach und nach die idioten anhand ner blacklist. damit bekommst du die leute dauerhaft weg. ansonsten hilft meist "drüber stehen und kommentarlos löschen" auch schon bei vielen. um leute mit einem cookie zu bannen müsstest du ja schon beim posten wissen das der jenige gebannt werden soll. + Multi-Zitat Zitieren
#5 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Das Zombie-Cookie | heise online Kann man so was nicht effizient umsetzen? Das Ding würden die meisten 0815 Spammer net so leicht weg bekommen. + Multi-Zitat Zitieren
#6 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen ich hab mir mal ne spam liste angelegt mit schlagwörter, die nicht in formularen vorkommen dürfen. wenn du nun laut murdoc weißt, welche email adresse spam verursacht, musst du diese adresse nur in die liste eintragen. schon wird das formular nicht ausgeführt. ein captcha hilft auch noch. sowas in der art mit email bestätigung sollte helfen. + Multi-Zitat Zitieren
#7 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen hast du auch den Code bereit, oder hast eine quelle, wo ich den code finden kann? + Multi-Zitat Zitieren
#8 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Wie gesagt entweder captcha oder userrating, sodass wenn 3 Leute sagen das der jeweilige Beitrag unter dem Niveau liegt er ausgeblendet wird oder wohl das einfachste einfach alle Beiträge manuell freigeben.. + Multi-Zitat Zitieren
#9 10. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Schutzmaßnahmen: IP Zeitsperre (Eine Sperrung der IP für z.b. 60sek kann den Spam bereits massiv reduzieren.) IP Sperre (24h) (Problem bei mehreren Leuten in einem Netzwerk z.b. Internet-Café)) Cookie Sperre (Lassen sich löschen) Captcha (Bei reCAPTCHA muss man 2 Worte eingeben, sehr effektiv würde ich meinen.) Badword Filter (Keine Zensur sondern auf Spamliste stellen.) Moderiert (Jeder Eintrag muss von dir Freigeschaltet werden.) Diese Maßnahmen lassen sich Frei miteinander verbinden + Multi-Zitat Zitieren
#10 11. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen hier mal auf die schnelle PHP: <? php class spamClass { public $formAr ; public $badWordAr ; public function badWord (){ foreach( $this -> formAr as $fkey => $fval ){ foreach( $this -> badWordAr as $bkey => $bval ){ if( strstr ( $_POST [ $fval ], $bval )){ return false ; } } } return true ; }} $_POST [ 'form1' ] = 'xx_x_' ; $_POST [ 'form2' ] = 'name@domain.de' ; $_POST [ 'form3' ] = 'irgendwas' ; $check = new spamClass (); $check -> formAr = array( 'form1' , 'form2' , 'form3' ); $check -> badWordAr = array( 'xxx' , '♂️♀️' , 'name@mail.de' , '@domain' ); $bad = $check -> badWord (); if ( $bad ){ die( 'alle ok' ); }else { die( 'spam' ); } ?> + Multi-Zitat Zitieren
#11 12. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Könntest du mir da mal die codes geben? (das Moderiert kannste weglassen.) Hallo onip, bei mir funktioniert das nicht ganz. Fehler in Zeile 21 (if(strstr($_POST[$fval], $bval)){) MfG PS: Mal ein beispiel für dich: Wenn in '$message' das Wort '*****loch' vorkommt, script abbrechen und Meldung ausgeben: 'Ausdrücke sind nicht erlaubt. Eintrag wurde nicht erstellt.' + Multi-Zitat Zitieren
#12 12. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen IP Sperre (Zeit kann man ja beliebig einstellen) Cookie Sperre (weiter unten stehen Beispiele) recaptcha Ist $_POST den deklariert? Den "Empty delimiter in" sagt aus das die Variable leer ist. Spoiler Spezialgebiet: Homepage (PHP, HTML, MySQL) + Multi-Zitat Zitieren
#13 12. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen [Bensen] $_POST ist immer deklariert, in diesem fall wird wohl der index "$fval" (aus der foreach-schleife) gleich NULL oder FALSE sein. + Multi-Zitat Zitieren
#14 12. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen klappt doch wunderbar PHP: <? php class spamClass { public $formAr ; public $badWordAr ; public function badWord (){ foreach( $this -> formAr as $fkey => $fval ){ foreach( $this -> badWordAr as $bkey => $bval ){ if( strstr ( $_POST [ $fval ], $bval )){ return false ; } } } return true ; }} if (isset( $_POST [ 'send' ])){ $check = new spamClass (); $check -> formAr = array( 'vname' , 'nname' , 'email' ); $check -> badWordAr = array( 'xxx' , '♂️♀️' , 'name@mail.de' , '@domain' ); $bad = $check -> badWord (); if ( $bad ){ die( 'alle ok' ); }else { die( 'spam' ); }} ?> <form action="" method="post"> <div>Vorname<br /><input type="text" name="vname" value="" /></div> <div>Nachname<br /><input type="text" name="nname" value="" /></div> <div>Email<br /><input type="text" name="email" value="" /></div> <div><input type="submit" name="send" /></div></form> + Multi-Zitat Zitieren
#15 14. Januar 2011 AW: Spammer / Nervensägen aus dem Gästebuch für immer bannen Bei dir ... (Meldung kommt nach dem klick auf Eintragen) Kannst du ja mal selbst anschauen ... http://www.ls-uswmodding.de/gastebuch.php PHP: <? php class spamClass { public $formAr ; public $badWordAr ; public function badWord (){ foreach( $this -> formAr as $fkey => $fval ){ foreach( $this -> badWordAr as $bkey => $bval ){ if( strstr ( $_POST [ $fval ], $bval )){ return false ; } } } return true ; } } $ip = $_SERVER [ "REMOTE_ADDR" ]; $neueintrag = $_POST [ "neueintrag" ]; $name = $_POST [ "name" ]; $email = $_POST [ "email" ]; $homepage = $_POST [ "homepage" ]; $message = $_POST [ "message" ]; $datum = date ( "d.m.Y, H:i:s" ); if (isset( $_POST [ 'neueintrag' ])){ $check = new spamClass (); $check -> formAr = array( 'message' , 'name' , 'email' ); $check -> badWordAr = array( ':poop:' , '♂️♀️' , '' , ':crazy:' ); $bad = $check -> badWord (); if ( $bad ){ die( 'alles ok' ); $id = time (); $name = addslashes ( $name ); $email = addslashes ( $email ); $homepage = addslashes ( $homepage ); $message = addslashes ( $message ); $sqlkommando = "INSERT INTO guestbook (id, name, email, homepage, message, datum, ip) VALUES (' $id ', ' $name ', ' $email ', ' $homepage ', ' $message ' , ' $datum ' , ' $ip ')" ; mysql_query ( $sqlkommando ) or die( "Error: " . mysql_error ()); echo "<br><br> Eintrag erfolgreich hinzugefügt! <br><br>" ; // Bestätigung ausgeben }else{ echo "Der Eintrag wurde nicht hinzugefügt, weil einige nicht erlaubte Worte in deinem Gästebucheintrag waren." ; exit; } } ?> (PHPcode wurde gekürtzt, sprich connectdaten wurden weggelassen) + Multi-Zitat Zitieren