Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular Spamschutz

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Formular Spamschutz

    Hallo,

    ich habe eine Nutzer-Registrierung für meine Website erstellt.
    Dort werden ganz einfach die Nutzereingaben (Nutzer, Passwort, Email, AGB-Zustimmung) an den Server gesendet und falls alle Eingaben korrekt waren, werden diese in meiner Nutzer-Tabelle gespeichert.

    Nun könnte ja jemand mit einer Art "Bot" dieses Formular unendlich mal abschicken und so unendlich Nutzer in kurzer Zeit erstellen und den Server überlasten.
    Deswegen habe ich zur Sicherheit folgende Sachen meinem Formular hinzugefügt:
    -die IP des Nutzers und das Registrierungsdatum (Datum und genaue Uhrzeit) werden gespeichert und jede "IP-Adresse" kann sich nur einmal alle 10 Minuten registrieren.
    -input-Felder mit dem type="hidden", da ich irgendwo gelesen habe, dass diese Felder von Bots oft nicht mitgesendet werden.
    -zudem habe ich die Namen der Input-Felder nicht gleich der Bedeutung des Input-Felds benannt, also der Email-Input hat als Namen nicht "email" sondern ein ausgedachte buchstabenkombination.
    -die Email wird auserdem überprüft, ob es wirklich eine Email sein könnte (@...)

    Die sicherste Variante gegen Spam wäre wohl sowas wie ein Captcha, aber das möchte ich lieber vermeiden, weil es eben nervig für normale Nutzer ist.

    Soweit wäre das Formular ja jetzt auch geschützt, wenn man nicht ganz leicht seine IP ändern könnte...

    Deswegen wollte ich mal fragen, ob es irgendwelche sicheren Spamschutzfunktionen ohne Captcha gibt.

    Ich habe auch schon gesehen, dass es eine Funktion gibt, die die Zeit des ersten Aufrufens des Formulars speichert und man dann zum Beispiel einstellen kann, dass das Formular erst nach z.B. 10 Sekunden des ersten Aufrufens abgeschickt werden kann. Weil ein normaler Nutzer braucht ja ein paar Sekunden, um ein Nutzernamen, Passwort und Email einzugeben.
    Wie diese Funktion heißt weiß ich aber leider nichtmehr...

    Schonmal Danke für eure Hilfe.

    Liebe Grüße.

  • #2
    Nun könnte ja jemand mit einer Art "Bot" dieses Formular unendlich mal abschicken und so unendlich Nutzer in kurzer Zeit erstellen und den Server überlasten.
    (..)
    Soweit wäre das Formular ja jetzt auch geschützt, wenn man nicht ganz leicht seine IP ändern könnte...
    Wie dem auch sei, ich glaub nicht, dass Deinen Rechner jemand gegen die Wand fährt, der sich permnnent neu einloggt. Zudem braucht das ja auch Zeit.

    Kommentar


    • #3
      Mhh, aber wenn dann plötzlich in der Datenbank ein paar tausend User sind, welche über einen Bot erstellt wurden, dann ist das ja nicht unbedingt so toll

      Aber du meinst, dass das die Serverleistung nicht beeinträchtigen würde?
      Ein Bekannter meinte mal, er hätte einen Bot, der ein paar 1000 Formularabsendungen inklusive IP-Änderung in einer Stunde geschafft hat... kann sowas stimmen?

      Liebe Grüße.

      Kommentar


      • #4
        Ein Bekannter meinte mal, er hätte einen Bot, der ein paar 1000 Formularabsendungen inklusive IP-Änderung in einer Stunde geschafft hat(..)
        alles klar, die Stunde hat 3600 Sekunden. Welcher Provider es lustig findest ca alle halbe Sekunde für den selben user ein Authentifizierungsverfahren durchzuführen, weiss ich nicht. da aber meistens Aktivierungslinks verschickt werden, und die acounts auch noch in realistischer Zeit aktiviert werden müssen, wirst Du wohl keine Jahre deine DB Leichen mit dir rumschleppen.

        Jedenfalls sollten das weder für die db noch für den Webserver ernsthafte Probleme darstellen. Angenommen Du hast nciht die Hammer aplikation, auf der sowieso locker zig pi/s statfinden.

        aber klar, es ist blöd.

        Deswegen willst Du den timestamp speichern, an dem das formular bereitgestellt wurde und wenn es abgeschickt wird den aktuellen mit dem gespeicherten timestamp vergleichen.

        Kommentar


        • #5
          Hi,

          bei manchen Internetanbietern reicht ein Neustart des Routers aus, um eine neue IP zu erhalten und das lässt sich auch über ein Programm ganz einfach realisieren
          Ob das heute immer noch so ist, weiß ich nicht genau, aber vor einem Jahr ging das auf jedenfall.

          Zur Sicherheit werde ich jetzt einfach mal versuchen das mit der Zeit beim Aufrufen und absenden des Formulars zu speichern.

          Liebe Grüße.

          Kommentar


          • #6
            1.)
            nur weil ich den router neu starte, muss mein provider mir keine ip geben?
            2.)
            Wie lange braucht dein Router beim Neustart?
            3.)
            Durch jedes trennen und neu verbinden, falls Du keine feste Ip gebuchjt hast, kreigst Du ne neue ip.

            Kommentar


            • #7
              Zitat von KevinCG Beitrag anzeigen
              Deswegen wollte ich mal fragen, ob es irgendwelche sicheren Spamschutzfunktionen ohne Captcha gibt.
              Ev. ist da ja nochwas dabei:

              http://1ngo.de/web/captcha-spam.html
              http://www.shiftedwork.de/blog/2010/...-aber-richtig/

              Kommentar


              • #8
                Dies hier 'Captchas sind Blödsinn - Alternativen gegen Spam' war auch eine Anregung für die AntiSpam - PHP form class.

                Kommentar


                • #9
                  Zitat von jspit Beitrag anzeigen
                  Japp, wobei die scheinbar auch ne ganz schöne Gurke ist ^_^.

                  PHP-Code:
                  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" onsubmit="pj_antispam_mcr();return true;">
                  <input type="hidden" name="tan" value="<?php echo $tan;?>">
                  Ich hoffe das sieht am Ende besser aus als im Beispiel auf der Webseite beschrieben. ^_^

                  Kommentar

                  Lädt...
                  X