Mein aktueller Honigtopf auf meinem Anmeldeformular ist ein Eintrag für eine Telefonnummer, die mit position: fixed;
außerhalb des Bildschirms angezeigt wird.
Es hat einen Standard-Formfüller ausgetrickst, funktioniert aber nicht so gut wie ich. Außerdem reagierten die Spambots sofort auf Änderungen in der Form, was bedeutet, dass dies automatisch ist, was kann ich tun.
Hinweis: Ich hasse Captchs, seit sie ihre Probleme lösen meine Probleme , die nie gut sind.
Baue einen wirklich schlauen Honigtopf
Das mag offensichtlich erscheinen, aber hier sind ein paar Tricks (Details später):
Beginne deine Seite wie ein Spam-Bot, Du kannst sogar deine eigene schreiben, die Zeit hat, aber ist ziemlich lustig :).
Die meisten Spam-Bots durchsuchen das Markup nach einem <form>
-Element. Dann werden sie Ihre Eingaben betrachten und sie passend ausfüllen, was der Haken ist: Wie wissen sie, was sie ausfüllen sollen? Sie werden wahrscheinlich die ID, die Klasse, den Platzhalter und das Label sehen. Das bringt uns zu unserer ersten Methode
Miss Eingaben in Ihrem Formularcode . Basily Ihre Benutzername-Eingabe sollte die ID von #Form_Email
boom haben! Spam-Bot füllt Formular falsch aus. Verstecken Sie auch Ihre Eingabe-Labels und geben Sie sie falsch ein. Verwenden Sie stattdessen divs. *
Methode # 2 beginnt hier
Sie haben wahrscheinlich bemerkt, dass wenn Sie versteckte Sachen einfach ignorieren, basierend auf dem Standort, was davor steht, und sogar den guten alten display: none;
, visibility: hidden;
, opacity: 0;
oder type='hidden'
. Das gibt uns eine mächtige Waffe. Ich habe das zufällig entdeckt, als ich eine Zeitfalle getestet habe. Ich habe einen Grundfüller verwendet, um das Formular zu füllen. Auf meiner Website (ich spreche nicht über GiantCowFilms.com) befindet sich das Registrierungsformular in einem Dialogfeld, das geöffnet wird, wenn ein Benutzer auf eine Registrierungsschaltfläche klickt. Standardmäßig ist versteckt . Das gab mir eine Idee für
Standard: form ist ausgeblendet. Grundsätzlich ist Ihr Formular beim Laden der Seite versteckt, aber es wird durch eine mausbasierte Aktion entdeckt. Ich glaube nicht, dass Bots mouses haben ). Wenn Sie möchten, dass Ihr Formular beim Laden der Seite sichtbar wird, fügen Sie einen identischen Täuschungskörper hinzu, der über dem echten im Markup liegt. Wenn der Bot diesen füllt und ihn abgibt, blockieren Sie den Ip für ein paar Minuten. ** Für wirklich Benutzer, einfach wenn die Maus über die Lockvogelform schwebt, schalte sie um.
Angenommen, das Verstecken von Honeypot mit CSS ist perfekt, ist ein schwerer Fehler. Sie sind viele super intelligente Bildschirmleser wie JAWS, die für das Spaming zweckentfremdet werden könnten. Deshalb haben Sie mehrere Verteidigungslinien.
Um uns zu spammen, müssen Bots Cursor haben, die Seite rendern, warten und mit einer variablen Realist-Geschwindigkeit tippen. Wenn sie einen Bot so machen, dann denke ich, es wird Captcha Zeit sein: (.
* Leute, die Screenreader benutzen, werden durch diese Abwehrmechanismen ausgelöst oder verwirrt, und je nachdem, in welchem Land Sie sind, könnten Sie Schwierigkeiten bekommen, blinde bis halbblinde Menschen zu diskriminieren. Wenn ein Benutzer den Bot-Test auslöst, sollten Sie ihn daher zu einem nicht geladenen Formular mit einem behindertenfreundlichen Captcha wie reCaptcha bringen.
** Leute teilen häufig Ips und Sie können gültige Benutzer vertreiben.
P.S. Verwenden Sie einfache Honigtöpfe, die Sie bereits haben. Einige Bots sind einfach zu dumm, um von dem, was wir hier haben, ausgetrickst zu werden.
Tags und Links forms spam-prevention