kostenloser Webspace werbefrei: lima-city


SPAM Problem im Gästebuch

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s***********t

    Leider bekomme ich immer mehr SPAM Einträge im Gästebuch... Immer derselbe Eintrag, jeweils von einem anderen Namen... Der Text lautet immer abc123... Habe schon einige Abfragen in dem Skript, aber die will irgendwie nicht funktionieren...

    if(strlen($name)<3){
    //Kein richtiger Name eingegeben
    $error_msg="Bitte geben Sie Ihren Namen an";
    }

    if(strlen($eintrag)<3){
    //Kein Eintrag vorgenommen
    $error_msg.="<br>Bitte geben Sie auch etwas in das Gästebuch ein.";
    }

    if(strstr($eintrag)="abc123"){
    // SPAM
    $error_msg.="<br>Kein richtiger Eintrag.";
    }

    Die ersten beiden Abschnitte gehen, nur am letzten hapert es... Bin leider nur PHP-Anfänger und denke, dass dieses Problem wahrscheinlich sehr leicht zu beheben ist und ich komme mal wieder nicht drauf...
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. derfragenhat5

    derfragenhat5 hat kostenlosen Webspace.


    Leider bekomme ich immer mehr SPAM Einträge im Gästebuch... Immer derselbe Eintrag, jeweils von einem anderen Namen... Der Text lautet immer abc123... Habe schon einige Abfragen in dem Skript, aber die will irgendwie nicht funktionieren...

    if(strlen($name)<3){
    //Kein richtiger Name eingegeben
    $error_msg="Bitte geben Sie Ihren Namen an";
    }

    if(strlen($eintrag)<3){
    //Kein Eintrag vorgenommen
    $error_msg.="<br>Bitte geben Sie auch etwas in das Gästebuch ein.";
    }

    if(strstr($eintrag)="abc123"){
    // SPAM
    $error_msg.="<br>Kein richtiger Eintrag.";
    }

    Die ersten beiden Abschnitte gehen, nur am letzten hapert es... Bin leider nur PHP-Anfänger und denke, dass dieses Problem wahrscheinlich sehr leicht zu beheben ist und ich komme mal wieder nicht drauf...


    probiers mit if($eintrag == "abc123") oder bei deiner abfrage == statt =. was aber wahrscheinlich sinnvioller wäre, dass man nur jede halbe stunde eintragen kann und das solange bis der keine lust mehr hat oder die ip speichern und zur polizei gehen oder ihm damit drohen oder sonstiges
  4. klengenterrorist

    Kostenloser Webspace von klengenterrorist

    klengenterrorist hat kostenlosen Webspace.

    Ist es ein Bot oder ein Mensch der spammt?
    Wenn es ein Bot ist, kannst du vielleicht einfach nen Case machen, wo man ankreuzen muss, und mit einer if-Abfrage immer bei false eine Errormeldung rausgeben. Ich hatte mal so was, ging eigentlich immer.

    Wenn's ein Mensch ist, vielleicht einfach ne Sperre, das man nur alle 24 Stunden was schreiben kann?


    mfg
    kt
  5. Autor dieses Themas

    s***********t

    Danke, werde das nachher mal ausprobieren... :)
    Ja, ein IP-Sperre komme auch noch rein, das war aber erst wichtiger... Schließlich kann es ja sein, dass die IP alle paar Minuten gewechselt wird...
    Tippe mal drauf, dass es ein Bot ist (3-4 Einträge pro Tag, zu jeder Tages- und Nachtzeit)...
    Wie meinst du das mit der case-Sache und der Abfrage...?
  6. klengenterrorist

    Kostenloser Webspace von klengenterrorist

    klengenterrorist hat kostenlosen Webspace.

    In der Datei wo er reinschreib machst du so ne Case, wo man anklicken kann. nenn sie <... name='check'...>


    In der Datei die in die DBs schreibt :

    £POST_[check] = $check;


    ...

    if ($check == false)
    {echo 'Error';
    }
    else{

    //dein skript
    }


    ist möglich dass der code voller fehler ist^^

    vom prinzp her ist es aber richtig

    mfg
    kt
  7. Autor dieses Themas

    s***********t


    probiers mit if($eintrag == "abc123") oder bei deiner abfrage == statt =.


    Funktioniert leider nicht... Es wird trotzdem eingetragen und ich bekomme folgende Fehlermeldung:

    Warning: Wrong parameter count for strstr() in /home/httpd/vhosts/fitness-center-spieker.de/httpdocs/gaestebuch/gaestebuch.php on line 33

    if(strstr($eintrag=='abc123')){
    // SPAM
    $error_msg.='<br>Kein richtiger Eintrag.';
    }

    oder

    if(strstr($eintrag)=='abc123'){
    // SPAM
    $error_msg.='<br>Kein richtiger Eintrag.';
    }

  8. if(strstr($eintrag)='abc123')

    Das kann garnicht funktionieren, da die Funktion strstr() zwei Parameter verlangt als Erstes die Zeichenkette, in der gesucht werden soll und als zweites das Suchwort. Also müsste das folgender Maßen aussehen.

    if(strstr($eintrag,"abc123")!=false)
  9. Autor dieses Themas

    s***********t

    Wie kann ich es denn machen, dass einfach nur nach "abc123" gesucht wird... Gibt es eine bestimmte String-Funktion dafür...? Nur mit str geht es nicht... Die Funktion gibt es anscheinend nicht...

    if(str($eintrag)='abc123')

    Sorry, mit deiner Funktion geht es wohl auch nicht:

    if(strstr($eintrag,'abc123')!=false){
    //SPAM
    $error_msg.='<br>Kein richtiger Eintrag.';
    }

    Folgende Fehlermeldung bekomme ich:

    Parse error: parse error in /home/httpd/vhosts/fitness-center-spieker.de/httpdocs/gaestebuch/gaestebuch.php on line 35

    Beitrag geändert: 1.11.2006 22:57:27 von sebastianvogt
  10. t*****b

    if (strstr($eintrag, "abc123"))
    {
      // Spam
      ...
    }


    Beitrag geändert: 1.11.2006 22:57:30 von trueweb
  11. Autor dieses Themas

    s***********t


    if (strstr($eintrag, "abc123"))
    {
      // Spam
      ...
    }


    Beitrag geändert: 1.11.2006 22:57:30 von trueweb


    DANKE, hat funktioniert :)
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!