Ankündigung

Einklappen
Keine Ankündigung bisher.

Standard Bots blockieren

Einklappen

Neue Werbung 2019

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

  • Standard Bots blockieren

    Hi leute,

    ich will in den nächsten Wochen ein Video Tutorial erstellen mit dem Thema registrierung. Dabei will ich natürlich auch dass bei der Registrierung die Standard Bots geblockt werden. Nun könnte ich einfach ein CSRF Token einbauen und ein Captcha aber CSRF Token ist nicht so gut und ein Captcha ist nerfig. Also wollte ich was anderes machen und da würde mich eure Meinung interessieren, nicht dass ich da irgendwas total dämliches mache.

    Also ich will eine Funktion schreiben die mir aus einem Feldnamen einen Hash generiert, das nutze ich dann wiederum als Feldname in der Form

    Der Hash setzt sich zusammen aus Feldname + CSRF Token + random salt und das alles dann gehasht. Jedes Mal wenn das Formular gerendert wird, wird der Token neu generiert und die Feldnamen sind dann neu.
    Somit hat auch ein Angreifer erst mal schwierigkeiten.
    Danach will ich ein Feld einbauen welches immer leer sein soll. Ich gehe davon aus dass ein Standard Bot alle Felder befüllen wird. Da er aber den Namen nicht sieht, weiß er nicht ob das Feld überhaupt gebraucht wird oder nicht. Das Feld wird aber Per CSS weggeschoben, damit man hidden Felder nicht ignorieren kann.
    Außerdem speichere ich in die Session ein Timestamp ab und beim Absenden gucke ich, ob mindestens 5 Sekunden vergangen sind zwischen dem Anzeigen der Form und erhalten des Post requests. Ich gehe davon aus dass ein User schon mindestens 5 Sekunden bruacht um Daten einzutippen. Außerdem wenn ein Formular mehr als 10 Mal abgesendet wurde, verdopple ich die Zeit jedes Mal. So dass der Bot nicht einfach immer nur 5 Sekunden abwarten muss und es weiter probieren kann.

    Ich möchte da kein Google Captcha einbinden weil das würde ein extra Video verlangen.

    Was meint ihr? Ist das so ok? Oder habe ich irgendwas vergessen bzw an irgendwas nicht richtig gedacht?

    Viele Grüße
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik


  • #2
    Einige dieser Ideen finden sich auch hier:
    https://42he.com/de/blog/2014-07-spa...e-ohne-captcha

    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Zitat von lstegelitz Beitrag anzeigen
      Einige dieser Ideen finden sich auch hier:
      https://42he.com/de/blog/2014-07-spa...e-ohne-captcha
      hey danke, muss ich mir mal in Ruhe durchlesen
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

      Kommentar


      • #4
        Zitat von BlackScorp Beitrag anzeigen

        hey danke, muss ich mir mal in Ruhe durchlesen
        Auch wenn ich Captchas mindestens genauso verabscheue, eine wirkliche Alternative gibt es leider nicht.
        Ich vermute dass Bots längst in der Lage sind <label>, placeholder usw. zu analysieren.
        JS-Kompatibilität bezweifle ich auch stark, aufgrund der abstrakten und dynamischen Feldnamen.

        Bei einem gezielten Angriff ist dann sowieso vorbei.

        Ich würde mir (und dem Zuseher) das ganze also sparen. Das ist wie eine Mauer gegen Luftangriffe zu bauen.
        Kostet viel und bringt nichts.

        Kommentar


        • #5

          Zitat von sboesch Beitrag anzeigen
          Bei einem gezielten Angriff ist dann sowieso vorbei.
          Das ist mir klar, aber ich denke es gibt da viele Bots im Internet die einfach nur so sich alles angucken und versuchen felder auszufüllen. Die will ich blocken.


          Zitat von sboesch Beitrag anzeigen

          Auch wenn ich Captchas mindestens genauso verabscheue, eine wirkliche Alternative gibt es leider nicht.
          Ich vermute dass Bots längst in der Lage sind <label>, placeholder usw. zu analysieren.
          Schon, aber, ein Bot müsste erst auf die Form Seite, dort die Namen auslesen, danach erst die Post Anfrage schicken. Und jedes Mal je öffters es das nicht schafft, desto länger dauert der Prozess dann. Ich denke, ich verhindere daruch die Massen Registrierung.



          Zitat von sboesch Beitrag anzeigen

          Ich würde mir (und dem Zuseher) das ganze also sparen. Das ist wie eine Mauer gegen Luftangriffe zu bauen.
          Kostet viel und bringt nichts.
          Naja es würde dem Zuschauer zeigen, dass es CSFR Tokens gibt und dass man diese auch in der Form braucht. Viele haben es nicht. Wenigstens das Thema ansprechen würde schon dem Zuschauer was bringen oder?

          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            Zitat von BlackScorp Beitrag anzeigen

            Das ist mir klar, aber ich denke es gibt da viele Bots im Internet die einfach nur so sich alles angucken und versuchen felder auszufüllen. Die will ich blocken.

            Schon, aber, ein Bot müsste erst auf die Form Seite, dort die Namen auslesen, danach erst die Post Anfrage schicken. Und jedes Mal je öffters es das nicht schafft, desto länger dauert der Prozess dann. Ich denke, ich verhindere daruch die Massen Registrierung.

            Naja es würde dem Zuschauer zeigen, dass es CSFR Tokens gibt und dass man diese auch in der Form braucht. Viele haben es nicht. Wenigstens das Thema ansprechen würde schon dem Zuschauer was bringen oder?
            Ok, möglicherweise hab ich deinen Eingangspost nicht richtig gelesen, aber "Bots blockieren" und CSRF sind ja doch zwei unterschiedliche Themen.
            Auch ein Bot kann eine CSRF-geschütztes Formular ausfüllen und absenden (Hoffe ich vertu mich da jetzt nicht).

            Kommentar


            • #7
              Zitat von sboesch Beitrag anzeigen

              Ok, möglicherweise hab ich deinen Eingangspost nicht richtig gelesen, aber "Bots blockieren" und CSRF sind ja doch zwei unterschiedliche Themen.
              Auch ein Bot kann eine CSRF-geschütztes Formular ausfüllen und absenden (Hoffe ich vertu mich da jetzt nicht).
              Ne ich habe da etwas verwechselt. Dachte halt, wenn ich die Fomurlarnamen hashe mit einem salt und dieser salt wäre dann ein CSRF token, dann hätte ich zwei Fliegen mit einer Klapper erschlagen.
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

              Kommentar

              Lädt...
              X