SessionID Sperre

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SessionID Sperre

    Schönen guten Morgen und fröhliche Weihnachten!

    Ich versuche gerade ein Gbbok-Script zu proggen - um spam zu verhindern erzeuge ich eine Session ID und trage die bei jeden Eintrag in die MySQL DB ein.

    Aber nun habe ich folgendes Problem, das nur die Sessid in der DB steht ist ja kein besonders guter Spamschutz weil jeder kann sich noch sooft eintragen wie er will.

    Wie mach ich das mit der Sperre?

    Wenn die "Sessid" schon vorhanden dann gehe statt zum Formular zur Seite mit einer Meldung.

    Ich hoffe ihr habt so halbwechs gerafft wo mein Problem liegt

    so long
    Brain2kone

  • #2
    wie wäre es mit ner ip sperre??
    sich jedesmal neu einzuwählen um zu spamen, wäre ganz schön lästig

    Kommentar


    • #3
      Ne, das machst nicht mit Sessions... Setz ein Cookie.

      CAT Music Files

      Kommentar


      • #4
        Ne Cookies mag ich nicht - bzw. bin ich da viel zu abhängig davon ob der User das zulässt - aber wie funzt das mit der IP Sperre?


        Kommentar


        • #5
          trägste die ip in die db ein
          dan schauste mit
          $temp = mysql_query("SELECT * FROM gb WHERE ip='$REMOTE_ADDR'");
          $temp = mysql_num_rows($temp);
          if($temp == "0")
          {
          // alles ok
          }
          else
          {
          //spam
          }

          dies kannste nartürlich modifiezieren zb mit zeitlicher begrenzung oder so

          Kommentar


          • #6
            Tabelle iplog:
            id mediumint auto_increment unique
            ip varchar(15)
            zeit timestamp

            Check vor jedem Eintrag
            $diff=2 //2 Stunden gültig
            $r = mysql_query("SELECT * FROM iplog WHERE ip='$REMOTE_ADDR' AND DATE_ADD(zeit, INTERVAL $diff HOUR)>=NOW()");
            if (mysql_num_rows($r)>0) {
            echo 'Sie haben schon einmal einen Eintrag geschrieben!';
            } else {
            mysql_query("INSERT INTO iplog SET ip='$REMOTE_ADDR',zeit=NOW()");
            //DB-Eintrag hinzufügen
            }

            CAT Music Files

            Kommentar


            • #7
              Ok,

              danke euch beiden, das teste ich doch gleich mal

              Kommentar


              • #8
                alles 3 zusammen ist extrem wirkungsvoll..
                erstmal neueinwählen, dann cookie deaktivieren und eine neue SessionID holen..

                Kommentar


                • #9
                  @Trashar

                  wenn ich das so mache wie du das geschrieben hast, passiert mir da irgendwie immer das ich nur "spam" bekomme...

                  ist da irgendwas falsch?

                  $result_ip = mysql_query("SELECT * FROM $mySQL_snbook WHERE ip='$REMOTE_ADDR'");
                  $row_ip = mysql_num_rows($result_ip);

                  if($row_ip[ip] == "0")
                  {
                  echo "alles ok!";
                  }

                  else
                  {
                  echo "spam!";
                  }

                  Ich teste jetzt nochmal den Vorschlag von Sky

                  danke nochmal )

                  so long
                  Brain2kone

                  Kommentar


                  • #10
                    das musste so machen:


                    if($row_ip == "0")
                    {
                    echo "alles ok!";
                    }

                    else
                    {
                    echo "spam!";
                    }

                    Kommentar


                    • #11
                      danke

                      ab und an sehe ich den Wald vor lauter Bäumen nimmer *G*

                      Kommentar


                      • #12
                        passiert jedem mal

                        Kommentar

                        Lädt...
                        X