Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17
Like Tree1Likes

Thema: wirksamer Schutz vor Bots ohne Captcha o.ä.

  1. #1
    j-l-n Guest

    wirksamer Schutz vor Bots ohne Captcha o.ä.

    Es gibt zwei einfache, aber wirkungsvolle Methoden, automatisierte Bots in einem Formular zu blockieren - und das, ohne auf für den Nutzer Mehraufwand bedeutende Techniken wie Captchas zu setzen:

    1. Man fügt dem Formular ein neues Textfeld hinzu mit einem Namen wie "message", "username" o.ä., was deswegen von einem Bot garantiert ausgefüllt wird.
    HTML-Code:
    <input type="text" name="message" id="bot-protection">
    Nun macht man dieses per CSS für einen normalen Menschen unsichtbar:
    Code:
    #bot-protection{
     opacity: 0;
    }
    Vorteil gegenüber Alternativen wie <input type="hidden"> ist, dass Bots nicht erkennen, dass das Feld nicht ausgefüllt werden soll.
    Man braucht nun serverseitig nur noch prüfen, ob das Feld leer und damit das Formular höchstwahrscheinlich von einem Menschen abgeschickt worden ist.

    2. Trick: Es wird ein Formularfeld mit der Zeit der Erzeugung mitgeschickt.
    PHP-Code:
    <input type="hidden" name="token" value="<?php echo time(); ?>">
    Auf dem Server prüft man dann mittels
    PHP-Code:
    $token $_POST['token'];
    $difference time() - $token
    , wie schnell das Formular abgeschickt wurde. Kommen hier Werte von wenigen Sekunden heraus, kann man sich relativ sicher sein, dass nur ein automatisiertes Programm das Formular so schnell ausfüllen kann.

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Es gibt noch eine Methode: den Namen der <input>s zufällig wählen und in der Session speichern, welcher Name für was steht.

    Aber alle Methoden bringen natürlich nur was bei generellen Bots. Bots, die spezifisch für eine Seite/ein Formular geschrieben wurden, kann man damit natürlich nicht aufhalten/erkennen.

  3. #3
    j-l-n Guest

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Zitat Zitat von kkapsner Beitrag anzeigen
    Es gibt noch eine Methode: den Namen der <input>s zufällig wählen und in der Session speichern, welcher Name für was steht.
    Auch eine gute Idee...

    Zitat Zitat von kkapsner Beitrag anzeigen
    Aber alle Methoden bringen natürlich nur was bei generellen Bots. Bots, die spezifisch für eine Seite/ein Formular geschrieben wurden, kann man damit natürlich nicht aufhalten/erkennen.
    Ja, natürlich. Das ist (leider) wahr. Aber ich glaube kaum, dass jemand sich die Mühe macht, für z.B. kleine, private Seiten einen extra Bot zu schreiben.


    PS: generelle Frage: die meisten Bots speichern keine Cookies, bin ich da richtig informiert?

  4. #4
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.711

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Formularschutz per Javascript ist nach meinen Erfahrungen relativ sicher, da viele Bots kein Javascript ausführen können.
    Methode 4:
    Ein hiden-input per Javascript dynamisch erstellen und mit einer serverseitigen gelieferten zufälligen Information füllen.

    Dies zusammen mit weiteren (u.a. den oben von julian beschriebenen Methoden) wird hier (AntiSpam - PHP form class) beschrieben und wurde zuvor bereits hier im Forum diskutiert: Konzept zum Formular-Spamschutz (Hilfe für Konzept zum Formular-Spamschutz).
    dertypdernixkan likes this.

  5. #5
    j-l-n Guest

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Zitat Zitat von jspit Beitrag anzeigen
    Methode 4:
    Ein hiden-input per Javascript dynamisch erstellen und mit einer serverseitigen gelieferten zufälligen Information füllen.
    Jep, kann man auch noch zur weiteren Erhöhung der Sicherheit dazu nehmen.

    Dies zusammen mit weiteren (u.a. den oben von julian beschriebenen Methoden) wird hier (AntiSpam - PHP form class) beschrieben und wurde zuvor bereits hier im Forum diskutiert: Konzept zum Formular-Spamschutz (Hilfe für Konzept zum Formular-Spamschutz).
    Danke für die Info!

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Zitat Zitat von Julian Beitrag anzeigen
    PS: generelle Frage: die meisten Bots speichern keine Cookies, bin ich da richtig informiert?
    Ich denke schon, dass die Cookies für eine gewisse Dauer speichern. Sonst könnten die Bots sich ja bei manchen Sachen gar nicht anmelden.

    Zitat Zitat von jspit Beitrag anzeigen
    Formularschutz per Javascript ist nach meinen Erfahrungen relativ sicher, da viele Bots kein Javascript ausführen können.
    Damit bekommst du aber viele falsch-negative. Z.B. ich würde dann als Bot eingestuft werden, da ich JS standardmäßig deaktiviert habe - und zwar v.A. aus Sicherheitsgründen.
    Also ich halte davon nicht besonders viel. Und es ist nicht wirklich schwer einen Bot zu erzeugen(z.B. mit irgendeinem der vielen Automatisierungaddons für den Firefox), der JS interpretiert...

    Ich denke am Besten ist eine Kombination aus mehreren mit einer geeigenten Gewichtungsmetrik liefert die besten Ergebnisse (am besten noch mit einem flexiblen und lernenden Algorithmus).

  7. #7
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.711
    Damit bekommst du aber viele falsch-negative...
    Viele?
    In der Realität geht doch ohne Javascript oftmals gar nichts mehr. Wenn man diesen Zahlen trauen kann, ist bei ca. 1% Javascript deaktiviert, davon nur jeder 5. der JavaScript bewusst deaktiviert hat.
    Davon ist bestimmt ein großer Teil Entwickler, welche mit Tools wie NoScript arbeiten und für eine Seite Javascript mit einem Klick aktivieren können.

    LG jspit

  8. #8
    j-l-n Guest

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Zitat Zitat von kkapsner Beitrag anzeigen
    Ich denke schon, dass die Cookies für eine gewisse Dauer speichern. Sonst könnten die Bots sich ja bei manchen Sachen gar nicht anmelden.
    Dann kann man ja auch einfach noch etwas wie
    PHP-Code:
    session_start();

    $fehlerhafte_versuche $_SESSION['versuche'];
    if(empty(
    $fehlerhafte_versuche)){
       
    $fehlerhafte_versuche 0;
    }
    $fehlerhafte_versuche $fehlerhafte_versuche 1;

    if(
    $fehlerhafte_versuche 10){ //z.B. max 10 fehlerhafte Versuche
       
    die("zu viele fehlerhafte Versuche!");
     }
    $_SESSION['versuche'] = $fehlerhafte_versuche
    hinzufügen...

  9. #9
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Zitat Zitat von jspit Beitrag anzeigen
    Viele?
    OK... nicht viele, aber auf jedenfall mich.

    Zitat Zitat von Julian Beitrag anzeigen
    Dann kann man ja auch einfach noch etwas wie
    [...]
    hinzufügen...
    Ich würde als Botschreiber nach jedem fehlerhaften Versuch die Cookies verwerfen...

  10. #10
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.711

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Hi,
    hab noch eine exotische Variante, die jedoch nicht für barrierearme Anwendungen nutzbar ist.
    Dafür wird eine Grafik für einen Absendebutton angefertigt, welcher einen transparenten Rahmen hat.
    Anstelle des normalen Submit-Buttons wird ein Button vom Typ image genommen.
    Klickt der Nutzer nun zum Absenden auf den Grafikbutton, dann werden die relativen Koordinaten mitgeschickt.
    Diese Koordinaten werden auf der Serverseite ausgewertet und sollten aus dem sichtbaren Bereich des Button sein
    sowie nicht immer gleich.

    LG jspit

  11. #11
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    jspit, kann man damit noch sicherstellen, dass das <form> als "vom Mensch" abgesendet gilt, wenn man in einem beliebigen Feld Enter drückt?

  12. #12
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.711

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Enter liefert immer die Koordinaten 0,0. Das entspicht der linken oberen Ecke der Grafik, also im transparenten Rahmen. Ob man dies zulässt, ist Sache des Programmieres der die Koordinaten auswertet. Ich persönlich würde Enter nicht als gültig zulassen.

  13. #13
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.702

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Ich wüsste nicht wie, da dann immer die Position (0,0) mitgesendet wird... außer man hat vor dem <input type="image"> noch einen anderen Submitbutton.

    Und damit würde ich wieder als Bot dastehen, da ich den Submitbutton meistens nicht verwende, sondern Enter.

    - - - Aktualisiert - - -

    @jspit: hab' gerade erst deinen neuen Beitrag gesehen. Das würde ich auf keinen Fall machen. Damit reduzierst du die Benutzerfreundlichkeit dramatisch.

  14. #14
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.725

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Ja, wollte ich auch gerade sagen, Korbinian. Man muss keine 50 Jahre alt sein um ein Tastatur-Freak zu ein. Und solche "verpfuschten" Formulare sind dann ein Grauen

  15. #15
    Avatar von jspit
    jspit ist offline Lounge-Member
    registriert
    19-06-2009
    Beiträge
    1.711

    AW: wirksamer Schutz vor Bots ohne Captcha o.ä.

    Ist mir schon klar, dass dieser Vorschlag schon stark in die Richtung der "benutzerfreundlichen" Captchas geht.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Captcha Neu Laden
    Von NewJSBoy im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 08-01-2010, 01:26
  2. Malware Bots zum Ausschneiden
    Von anna55 im Forum Fun
    Antworten: 0
    Letzter Beitrag: 13-03-2009, 19:53
  3. [php] captcha class
    Von rasputin im Forum Script-Check
    Antworten: 11
    Letzter Beitrag: 09-02-2007, 20:13
  4. Passwort-Schutz ohne htaccess?
    Von xenon89 im Forum Serverseitige Programmierung
    Antworten: 3
    Letzter Beitrag: 15-10-2006, 14:05
  5. Bots !
    Von dkdenz im Forum Serverseitige Programmierung
    Antworten: 12
    Letzter Beitrag: 11-08-2004, 09:24

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •