Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] captcha hidden field

Einklappen

Neue Werbung 2019

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

  • [Erledigt] captcha hidden field

    Hi allerseits, ich bin grade dabei ein captcha zu entwerfen. Allerdings will ich dabei auf sessions verzichten, weil ich immer noch probleme damit habe. Nun habe ich mir gedacht, dass ich die antwort des captchas als hash in einem hidden field speichere und bei submit vergleiche. Wie findet ihr diesen Ansatz. Besteht dabei ein gewisses Risiko, dass das Captcha geknackt werden könnte?


  • #2
    Das geht nicht. Dann kann ich dein Captcha immer wieder lösen in dem ich den gleichen Hash zum Server schicke.
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Das ging ja schnell. Vielen Dank. Dann werd ich mal mein Problem mit den Sessions schildern.

      Kommentar


      • #4
        erledigt

        Kommentar


        • #5
          Kann einer der Mods den Spaß hier mal aus Off-Topic rausschieben?

          Zum Thema noch: Ich würde generell bei Captchas professionelle Lösungen eigenen Skripten vorziehen, gerade wenn man noch am Anfang ist... Da gibt es kleinere und größere Bibliotheken, z.B. von stoppt-den-spam.info/ oder auch vom Zend Framework, andere Frameworks bieten das auch häufig an, was aber, wenn man das nicht ohnehin benutzt, meiner Meinung nach eher mit Kanonen auf Spatzen schießen ist.

          Wenn du tatsächlich das Rad neu erfinden willst, und dein eigenes Skript schreiben willst, bitte schön, damit wir dir helfen können, wäre noch die Klasse captcha und eine ein bisschen detailliertere Problembeschreibung als
          der Code funktioniert jedoch nicht
          ganz hilfreich.
          "2 hours of trial and error can save 10 minutes of manual reading."

          Kommentar


          • #6
            man könnte hier auch mal den ewig alten artikel des supermoderatorsHD verlinken:
            http://www.openwebboard.org/Tutorial...APTCHAs_1.html

            Kommentar


            • #7
              Du könntest ja auch einen Timestamp als Hidden Feld mitsenden und dann einfach das Alter prüfen. Damit einer, der es ernst meint, jetzt nicht allzu leichtes Spiel hat, könntest du diesen dann noch verschlüsseln...
              https://github.com/Ma27
              Javascript Logic is funny:
              [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

              Kommentar


              • #8
                Zitat von Ma27 Beitrag anzeigen
                Du könntest ja auch einen Timestamp als Hidden Feld mitsenden und dann einfach das Alter prüfen. Damit einer, der es ernst meint, jetzt nicht allzu leichtes Spiel hat, könntest du diesen dann noch verschlüsseln...
                Trotzdem musst du den Wert Serverseitig vorhalten. Auch ein solcher Trick lässt sich für den Gültigkeitszeitraum des Catchas wiederholen. Du musst das Rätsel nur einmal lösen und kannst diese Lösung dann unverändert beliebig oft zum Server schicken. Für ein Spamblock in einem Blog könnte das aber reichen - zumindest zum Schutz vor Bots. Für die Anlage von Useraccounts würde ich mir etwas anderes einfallen lassen.
                Standards - Best Practices - AwesomePHP - Guideline für WebApps

                Kommentar


                • #9
                  rkr: er wollte auf hidden Inputs setzen und wenn man mcrypt zu der Verschlüsselung des Timestamps nimmt, dann wird es schwer, das zu knacken. Für die Timestamp Verschlüsselung kann man ja sicher in der Session noch nen dynamischen Key (z.B. via uniqid()) halten - deine Aussage ist natürlich richtig, aber der Captcha wäre zumindest barrierefreier

                  LG und schönen Abend noch
                  https://github.com/Ma27
                  Javascript Logic is funny:
                  [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

                  Kommentar


                  • #10
                    Ich setze z.B. captchas gar nicht ein und halte das ganze Prinzip für eine Fehlentwicklung. Den User in einen Test zu involvieren, der ihn von einer Maschine unterscheiden soll, ist meiner Meinung nach unnötig und für den User lästig. Es gibt durchaus bessere Alternativen, um Menschen von Maschinen zu unterscheiden, als Captchas, die sowieso niemand lösen kann. Und ich denke auch kaum, dass hier irgendjemand den Einsatz von Captchas gutheißen wird.

                    Kommentar


                    • #11
                      Ich setze z.B. captchas gar nicht ein und halte das ganze Prinzip für eine Fehlentwicklung. Den User in einen Test zu involvieren, der ihn von einer Maschine unterscheiden soll, ist meiner Meinung nach unnötig und für den User lästig. Es gibt durchaus bessere Alternativen, um Menschen von Maschinen zu unterscheiden, als Captchas, die sowieso niemand lösen kann. Und ich denke auch kaum, dass hier irgendjemand den Einsatz von Captchas gutheißen wird.
                      Wenn es ein Spammer ernst meint, dann habe ich Mitleid mit deinem Server. Ich denke ein Barrierefreier Captcha, der im Hintergrund einen (verschlüsselten) Zeitstempel mitsendet, ist genug

                      LG
                      https://github.com/Ma27
                      Javascript Logic is funny:
                      [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

                      Kommentar


                      • #12
                        Den User in einen Test zu involvieren, der ihn von einer Maschine unterscheiden soll, ist meiner Meinung nach unnötig und für den User lästig. Es gibt durchaus bessere Alternativen, um Menschen von Maschinen zu unterscheiden, als Captchas, die sowieso niemand lösen kann.
                        Dann nenn halt mal auch ne Alternative.
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          Ich denke ein Barrierefreier Captcha, der im Hintergrund einen (verschlüsselten) Zeitstempel mitsendet, ist genug
                          Ich habe mich wahrscheinlich falsch ausgedrückt. Ich nutze keine captchas wie reCaptcha o.Ä., die sowieso kein Mensch entziffern kann. Aber es war keine Rede davon, dass ich von Zeitstempeln abrate.
                          @Nikosch: Ich würde gerne mal deine geballte Argumentationskraft zum Thema captcha hören.

                          Kommentar


                          • #14
                            Zeig mal ein Beispiel, wie du es machen würdest...

                            Ich will ein ganz anderes Problem im Bezug auf Catchas ins Thema einbringen. Egal wie "gut" die Dinger sind - wenn ich eine gut laufende Seite habe und Deine Captcha leicht durch meine User lösen lassen kann (die denken, dass es meine sind) und deine Seite mir sagt, dass die Lösung richtig oder falsch war, dann kann ich viel auf deiner Seite rumspammen

                            Ich fahre aktuell bei einer Seite ganz gut damit ein via CSS ausgeblendetes Feld als Honeypot zu offenbaren.
                            Standards - Best Practices - AwesomePHP - Guideline für WebApps

                            Kommentar


                            • #15
                              Ich will ein ganz anderes Problem im Bezug auf Catchas ins Thema einbringen. Egal wie "gut" die Dinger sind - wenn ich eine gut laufende Seite habe und Deine Captcha leicht durch meine User lösen lassen kann (die denken, dass es meine sind) und deine Seite mir sagt, dass die Lösung richtig oder falsch war, dann kann ich viel auf deiner Seite rumspammen
                              Das ist einfachste Art von Formspoofing. Dann sende ich halt jedes Mal ein Token mit und mach dir nen Strich durch die Rechnung. Ausserdem wirst du damit auch keine Erfolge haben, weil Captchas zufällig generiert werden sollten.

                              Kommentar

                              Lädt...
                              X