Möchtegern CAPTCHA

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

  • Möchtegern CAPTCHA

    Liebe Progs,

    nach langer Zeit wende ich mich wieder an das PHP Forum meines Vertrauens , mit folgendem Problem:

    Die Shoutbox meiner kleinen HP wird seit kurzer Zeit von einem (vermute ich mal) SpamBoter heimgesucht. Dieser Bot postet in unregelmäßigen Abständen nervige Casino Werbung und sonstigen Unsinn. Eigentlich habe ich schon seit bestehen dieser Shoutbox eine Zeitsperre eingebaut die einem user verbietet mehr als einen Eintrag pro Stunde zu posten. Dieses skript merkt sich den User anhand der IP.

    Der Bot jedoch wechselt seine IP regelmäßig UND postet auch schonmal stündlich. Nun hatte ich gestern spontan folgende Idee:

    Ich lasse eine Zufallszahl generieren und lasse den User diese Generierte zufallszahl in ein Textfeld eingeben. Diese generierte Zufallszahl erscheint als Text , nicht als Grafik. Über Nacht kam mir selbst die idee das dem Script es nicht allzu schwer fallen wird diesen Text auszulesen.Nun ist das leider noch nicht mein Problem.

    Ich lasse anschließend die generierte und eingegebene Zufallszahl in meine Datenbank eintragen und vergleiche die beiden Zahlen miteinander bevor die Shoutbox die einträge anzeigt. Stimmen diese beiden Zahlen nicht , werden die Einträge gelöscht.
    Kaum sind 10 min vergangen meldete sich der BOT wieder und konnte mich erfolgreich vollspamen.
    Doch wurden in meiner Datenbank weder die Generierte Zahl ,die eigentlich unabhängig davon ob das Überprüfungstextfeld leer ist oder nicht in die Datenbank eingetragen wird, sowohl die Überprüfung leer geblieben ist. Und da 0==0 ist wurden die Einträge angezeigt.

    langer text, kurzer sinn:

    Kann der Bot auch einen anderen Zugangsweg auf meine Datenbank gefunden haben ?

    vielen Dank im Vorraus,

    Diggicell
    "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
    (Henry Mon)


    http://www.diggicell.de

    Nun auch mit neuen Inhalten

  • #2
    Ohne etwas Code dürfte es schwierig werden eine Aussage zu machen ob dein Code umgangen werden kann.
    Nur soviel: Wenn du den Zufallscode im Quelltext hast, dann kannst du eigentlich auch gerade so gut darauf verzichten. Der Bot wird ihn schon finden !

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Wo du recht hast.... :





      Entschuldigt das Kreative WirrWarr und unaussagende Kommentare aus der Entwicklungszeit .

      Diggicell
      Zuletzt geändert von Diggicell; 30.05.2012, 20:58.
      "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
      (Henry Mon)


      http://www.diggicell.de

      Nun auch mit neuen Inhalten

      Kommentar


      • #4
        brich deinen text um, ich hab keine lust unter ner auflösung von 1280x1024 vertikal scrollen zu müssen.

        wieso nimmst du nicht einfach ein grafik-captcha?! was ist daran so schwer bzw. schlimm? (ein grafik-rechen-captcha wäre zum beispiel [vorerst] das aus für den spambot)
        MfG
        aim
        Lies mich jetzt!
        - OT-Tags-Liebhaber und BB-Code-Einrücker -

        Kommentar


        • #5
          OK... also zuallerst: Dein Code ist ausgesprochen unstrukturiert und demnach nur mühsam lesbar. Du könntest dir überlegen, ob du nicht etwas mehr Struktur in deinen Code und Einheit in die Benennung deiner Parameter bringen möchtest.

          Und nun zu deinem Problem: Ich kann nicht erkennen, an welcher Stelle du eine Zufallszahl generierst und auch nicht, an welcher Stelle die eingegebene Zufallszahl mit der generierten verglichen wird. Insofern kann ich dir da gerade nicht helfen.
          Davon abgesehen könntest du auf ein bereits bestehendes Captcha-Skript oder eine ähnliche - von mir aus auch selbst geschriebene - Methode setzen.
          Nieder mit der Camel Case-Konvention

          Kommentar


          • #6
            Hst du dir mal den Quelltext in HTML angeschaut. Du belegst deine Glückszahl bereits mit einem Wert --> wird also egal ob es der Bot ausfüllt oder nicht einen Inhalt haben und deine Bedingung
            PHP-Code:
            if(emtpy($_GET['dhdng'])) //egibt garantiert nie true 
            Ausserdem gibst du im form action sogar die korrekte Glückszahl aus. Auch wenn du also die Eingaben prüfen würdest, könnte der Bot einfach das Form an die URL versenden und hat die nötigen Felder.
            Ich glaube du weisst nicht wirklich was du machst...
            Mach ein Bilder Captcha ! Das hilft

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Du überprüfst die Eingaben (soweit ich das sehe) absolut nicht nach irgendwelchem schadhaften Code. Somit kann man auch deine "Glückszahl" überliesten und auch noch viel mehr schadhaftes anstellen!
              Für Rechtschreibfehler übernehme ich keine Haftung!

              Kommentar

              Lädt...
              X