Ankündigung

Einklappen
Keine Ankündigung bisher.

Trotz Captcha spam

Einklappen

Neue Werbung 2019

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

  • Trotz Captcha spam

    Ich habe ein Formular was ständig mit Spam gefüllt wird.
    Da dachte ich, nimmst einfach Captcha, was alle nehmen.
    Super - 2 Monate kein Spam mehr.
    Auf einmal geht der Scheiß wieder von vorne los.
    Entweder der Script ist Fehlerhaft oder nicht ausreichend.
    Kann man da noch was zusätzlich einbauen um es sicherer zu machen ??
    Danke für eure Hilfe.
    Es macht bald keinen Spaß mehr.

    die Abfrage

    Code:
    if(strtolower($_REQUEST['Code']) == strtolower($_REQUEST['EingegebenerCode']))

    PHP-Code:
    <?php

    $Buchstaben
    =array("A""B""C""D""E""F""G""H""K""M""N""P""Q""R""S""T""U""V""W""X""Y");
    $Zahlen=array("2""3""4""5""6""7""8""9");

    for(
    $i=0$Code=""strlen($Code)<6$i++)
    {
        if(
    rand(01)==&& isset($Buchstaben))
        {
            
    $Buchstabe=$Buchstaben[rand(0count($Buchstaben))];
            
    $Code.=$Buchstabe;
            
    $AngezeigterCode.=$Buchstabe." ";
        }
        else
        {
            
    $Zahl=$Zahlen[rand(0count($Zahlen))];
            
    $Code.=$Zahl;
            
    $AngezeigterCode.=$Zahl." ";
        }
    }
    $AngezeigterCode=trim($AngezeigterCode);

    ?>

    <tr>
    <td width="188">

    <input name="Code" type="hidden" value="<?php echo$Code?>">
    Code: <input maxlength="6" name="EingegebenerCode" size="6" type="text"></td>
                    <td width="548">[img]grafischer-code.php?Code=<?php echo$AngezeigterCode?>[/img]
    </td>
                </tr>
    Wenn das funzt muß ich mich mit SQL injektion beschäftigen.
    denn mein Formular ist nicht sicher
    hat schon einer meine Datenbank gelöscht
    Ich blick aber bei diesen thema noch nicht richtig durch
    Also Schritt für Schritt

  • #2
    PHP-Code:
    <input name="Code" type="hidden" value="<?php echo$Code?>">
    Seeeeehr intelligent, den Robots den richtigen Code schon zu präsentieren.

    Schon mal was von Sessions gehört?

    Kommentar


    • #3
      ich glaube du hast die funktion von captchas noch nicht ganz verinnerlicht. es gibt ne menge infos im netzt darüber. einfach mal googlen und ne runde lesen...
      im übrigen gibts hier grade nen thread zum theme gästebuch-spam.
      [COLOR="#F5F5FF"]--[/COLOR]
      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
      [COLOR="#F5F5FF"]
      --[/COLOR]

      Kommentar


      • #4
        Der Script ist aus dem Netz, da ich selbst nicht viel Ahnung habe, um so ein Teil zu programmieren.
        Also wenn ich den Robots schon den Code präsentiere, brauche ich mich nicht zu wundern.
        gästebuch-spam -werde ich gleich mal nachlesen
        Danke.

        Kommentar


        • #5
          @Peter Lustig
          hättest Du dich doch lieber zuerst umgeschaut:
          http://phpfriend.de/forum/ftopic60678.html
          Lies doch dort alles durch

          Kommentar


          • #6
            Eine sehr simple, aber trotzdem effektive Lösung:

            Der normale User kommt meist über die Startseite der Homepage. In diesem Script setzt man eine Session-Variable. Soll im Gästebuch ein Eintrag gemacht werden, überprüft man diese Variable. Ist sie gesetzt, wird der Eintrag übernommen. Da die Robots direkt die Seite zum Eintragen aufrufen, ist die Variable nicht gesetzt und somit gibt es keinen Eintrag.

            Das alleine reicht zwar immer noch nicht aus, aber man sperrt schon eine Menge Robots damit aus.

            Kommentar


            • #7
              @Jogibär
              Jo, stimmt, ist effektiv.
              Was hältst Du von meiner Lösung? Ist zwar in Funktionen aufgeteilt, aber funzt bei mir gut:
              http://gelamu.homelinux.net:88/dc915...97c756c9fee273
              Wenn mir jemand sagen könnte was ich da noch ausbessern könnte, wäre ich auch erfreut

              Kommentar


              • #8
                Naja also da das ganze ja mit Textfiles und nicht über Sessions läuft denke ich wäre das wohl das erste! Textdateien zu erstellen ist in dem Fall unnötig und man muss dafür dann wieder extra nen Ordner erstellen, Schreibrechte geben usw. das ist alles unnötig darum solltest du das mal umstellen!

                Zitat von Jogibär
                Eine sehr simple, aber trotzdem effektive Lösung:

                Der normale User kommt meist über die Startseite der Homepage. In diesem Script setzt man eine Session-Variable. Soll im Gästebuch ein Eintrag gemacht werden, überprüft man diese Variable. Ist sie gesetzt, wird der Eintrag übernommen. Da die Robots direkt die Seite zum Eintragen aufrufen, ist die Variable nicht gesetzt und somit gibt es keinen Eintrag.

                Das alleine reicht zwar immer noch nicht aus, aber man sperrt schon eine Menge Robots damit aus.
                Was passiert aber wenn jemand den Link zu deinem Gästebuch irgendwo postet? Dann kommt der User auch nicht auf die Startseite! Oder er kommt über eine Suchmaschine direkt in dein Gästebuch???

                Kommentar


                • #9
                  Ach ja, das ist natürlich etwas umständlich ein Ordner mit Schreibrechten zu erstellen.
                  Ich habe das so gemacht, weil ich gerne diese Spielchen mit Dateien treibe
                  Und so läuft die ganze Sache ja auch schneller ab als wenn ich eine Verbindung zum Datenbank herstelle (bei mir jedenfalls) :^)

                  Kommentar


                  • #10
                    Hmmm, die Verbindung zur DB ist wesentlich schneller als ein gefummel zu einer Datei.

                    Kommentar


                    • #11
                      Außerdem brauchts für ein Captcha überhaupt keine Datenbank oder Dateien ... du erstellst einen zufälligen String, speichert den md5 Hash davon in die Session und erstellst das Bild mit dem String. Übergeben tust du per Formular nur die Usereingabe die er vom Bild abtippen soll und dann überprüfst du ob der md5 Hash von der Usereingabe in der Session steht. Fertig! Da brauchst du weder Dateien noch ne Datenbank.

                      Kommentar


                      • #12
                        Ja, RaZoR Da hast Du auch wieder Recht. Auf diese Weise gibt man ja auch nichts über sein Captcha preis.
                        Aber wie schon gesagt, ich verwende das so, weil ich gerne mit Dateien arbeite.
                        Sessions kommen bei mir recht selten zum Einsatz.

                        Kommentar


                        • #13
                          Wie du meinst, über Sessions wäre es ein Befehl wo du den Hash in der Session speicherst, und einer ums auszulesen ... bei Textdateien ist es wesentlich mehr und auch langsamer.

                          Kommentar


                          • #14
                            Langsamer nicht unbedingt, schließlich werden Sessions meistens auch in Dateien geschrieben.

                            Kommentar


                            • #15
                              Vielleicht doch Weil wenn Session mit Dateien arbeitet läuft das ja schneller als wenn ich mit PHP Dateien öffne und Sachen auslese oder reinscreibe.

                              Kommentar

                              Lädt...
                              X