Kontaktformulare, Bots und schamloser Spam

Depositphotos 52422737 s

Anti-Spam ist ein großes Thema bei E-Mails. Die Leute haben jahrelang versucht, ihren Posteingang sauber zu halten, mit allem, was nervt Spamarrest Tools für einfache Junk-Mail-Filter mit ihrer unheimlichen Fähigkeit zu Fehlalarmen. Tatsächlich wurde E-Mail-Spam zu einem solchen Ärgernis, dass die Regierung sogar einsprang (stellen Sie sich das vor) und Gesetze darüber schrieb. Aber es gibt noch eine Form von Spam, die die Bürgerwehr abfangen muss ... und ich hoffe, Sie helfen mir.

Es begann nur als Ärger, wurde aber zu einer umfassenden Betriebsunterbrechung. Jede Formularübermittlung löst automatisch einen Lead in meinem CRM aus. Was bedeutete, dass ich im letzten Jahr eine Menge Leads hatte, die ich an SEO-Unternehmen verkaufen konnte, die mich auf Seite 1 von Google bringen können. Also machte ich mich daran, einen Home-Brew-Form-Handler zu entwickeln, der diese bösen Spammer ohne das Risiko eines falsch positiven Ergebnisses identifiziert und beseitigt. Denn während ich Spam hasse, hasse ich eine verpasste Gelegenheit noch mehr.

Zu Beginn habe ich die Arten von Spam, die ich machbar beseitigen konnte, in zwei Kategorien unterteilt:

  1. Der echte Mensch, der fehlerhafte Daten übermittelt, nur um zu dem Cookie hinter dem Formular zu gelangen… die kostenlose Testversion, das kostenlose Whitepaper, das Tropfmarketing Inhalt usw.
  2. Die Bots, die das Web crawlen und Affiliate-Links und fehlerhafte Daten in jede Form senden, die sie finden können.

Lassen Sie mich im Rahmen dieses kleinen Verbundprojekts (dem Sie hier durch einen Kommentar beitreten können) den folgenden Parameter hinzufügen: NO CAPTCHA. Ich kann die verdammten Dinge die halbe Zeit nicht selbst lesen und es besteht Grund zu der Befürchtung, dass CAPTCHA selbst die Lead-Umwandlung allein durch Schwierigkeiten reduziert.

Der Trick besteht also darin, eine Reihe logischer Tests zu erstellen, anhand derer die vom Formular übermittelten Daten ausgeführt werden können, mit denen Spam in einem signifikanten Prozentsatz der Zeit positiv identifiziert wird, während legitime Leads fast nie blockiert werden.

Hier bin ich:

  1. Fügen Sie eine Eingabe in das Formular ein, geben Sie = text, aber style = "display: none;" ein. Bots fügen natürlich einen Wert in jedes Texteingabefeld ein, um die erforderlichen Feldprüfer zu umgehen. Wenn dieses spezielle Feld jedoch mit darin enthaltenen Daten übermittelt wird, können wir mit Sicherheit wissen, dass ein Mensch dies nicht getan hat.
  2. Suchen Sie nach "asdf". Einfach, ich weiß, aber ein Bericht über historischen Spam zeigte, dass dies eine ziemlich beliebte Form falscher Einsendungen war. Wenn die Zeichenfolge asdf in einem Feld angezeigt wird, handelt es sich um Spam.
  3. Überprüfen Sie, ob sich Zeichen wiederholen. Ich habe es versucht und versucht, aber ich konnte mir keinen legitimen Grund vorstellen, warum ein Zeichen in einem Namen-, Firmennamen- oder Adressfeld mehr als dreimal wiederholt werden sollte. Wenn Sie mich anders überzeugen können, großartig. Derzeit wird „XXXX Consulting Company“ für mich kein Lead.
  4. Überprüfen Sie, ob die Zeichenfolgen identisch sind. Außer Tim Allens Nachbarn Wilson Wilson hat niemand, den ich kenne, in allen Feldern eines Kontaktformulars den gleichen Zeichenfolgenwert. Wenn zu viele Felder identisch sind, handelt es sich um Spam.
  5. Schließlich, und das ist der Schlüssel: Suchen Sie nach URLs, zu denen sie nicht gehören. Einer der klassischsten Fälle von Spam ist das Platzieren einer URL in einem Feld, in das sie nicht gehört. Außerhalb des Textfelds "Nachricht" sollte keine URL für den Namen, die Telefonnummer, den Firmennamen oder auf andere Weise verwendet werden. Wenn sie es versuchen, ist es Spam.

Diese 5 logischen Tests haben die Anzahl der Spam-Einreichungen im letzten Monat bei uns um weit über 70% reduziert kostenloses Kontaktformular Produkt. Ich würde diese Zahl gerne noch höher bringen. Die meisten Spam-Einreichungen, die immer noch vorbeischleichen, sind schlecht angesehene SEO-Angebote. Hier ist also die nächste Herausforderung: Können Sie eine Reihe von Schlüsselbegriffen und Schwellenwerten für die Dichte finden, die vernünftigerweise darauf hinweisen, dass der Inhalt der Einreichung über SEO spricht? Natürlich könnte dies eine schlechte Idee für die Jungs von SlingShot sein, sie auf ihrer Website zu implementieren, aber für den Rest von uns würde es passen.

Webentwickler vereinen sich: Was sollte noch getestet werden?

5 Kommentare

  1. 1

    Ich liebe die Idee, ein Feld mit Anzeige hinzuzufügen: keines. Es ist genial! Ich habe vor vielen Monden einen Beitrag darüber geschrieben, wie schrecklich eine Technologie ist. Captcha bestraft die Unschuldigen und fügt den Benutzern einen zusätzlichen, unnötigen Schritt hinzu. Es ist das Gegenteil von User Experience. Ich kann Ihr verstecktes Feld auf die Probe stellen!

  2. 2

    Ich liebe die Idee, ein Feld mit Anzeige hinzuzufügen: keines. Es ist genial! Ich habe vor vielen Monden einen Beitrag darüber geschrieben, wie schrecklich eine Technologie ist. Captcha bestraft die Unschuldigen und fügt den Benutzern einen zusätzlichen, unnötigen Schritt hinzu. Es ist das Gegenteil von User Experience. Ich kann Ihr verstecktes Feld auf die Probe stellen!

  3. 3

    Es funktioniert wirklich gut, aber wenn Sie es auf vorhandenen Formularen ausrollen, kann es eine Weile dauern, bis sich der Effekt ausbreitet. Bots speichern Ihr Formular häufig zwischen und posten es so, wie sie es vor Wochen gesehen haben, bis sie zurückkommen und es wieder sehen. Solange sie in Ihrem zwischengespeicherten Formular posten, werden sie durchkommen. Innerhalb eines Monats sollten Sie erste Ergebnisse sehen.

  4. 4

    1. Ein Timer;
    2. Schwer zu erratende Formularfeldnamen;
    3. serverseitige Formularvalidierung;
    4. ein Formularfeld, von dem kein Wert erwartet wird;
    5. JavaScript ein verstecktes Feld mit einem Formular aktualisieren lassen;
    6. Ändern Sie die Formularattribute beim Senden mit JavaScript.

    # 1 ist mein Favorit. Starten Sie einen Timer, sobald die Kontaktseite (oder eine beliebige Seite) geladen ist. Stellen Sie auf der Serverseite eine voraussichtliche erforderliche Zeit zum Ausfüllen des Formulars ein. Wenn der Benutzer zu früh übermittelt wird, wird eine Nachricht / ein Konto deaktiviert / der Administrator erhält eine E-Mail / etc. Dieser eliminiert tatsächlich 99.9% jeder Art von Bot-Aktivität.

    # 2 speichert Feldnamen in einer Sitzung und geben den Feldern zufällige Namen. Macht es einem Bot schwer zu lernen.

    # 3 dieser ist wichtig. E-Mails können sehr genau mit regulären Ausdrücken überprüft werden. Ein Telefonnummernfeld soll 10 Nummern, 2 oder mehr Felder mit demselben Wert = Bot usw. enthalten.

    # 4 erklärt in Ihrem Artikel, 5 und 6 einige Skriptoptionen.

  5. 5

    Danke für den Beitrag, Nick. Schätzen Sie den Anteil.

    Martin - Ich denke, der Timer ist eine großartige Idee. Ich gehe davon aus, dass ein Bot es durchgehen würde und die Schwelle etwas niedrig wäre ... vielleicht 5 Sekunden? Ich bin nur neugierig wegen vorab ausgefüllter Formulare für tatsächliche Benutzer sowie für Benutzer, die auf die Seite zurückkehren und sofort wissen, dass sie das Formular ausfüllen möchten. nur meine zwei Pennys. Ich weiß, dass ich ungefähr ein Jahr zu spät in diesem Beitrag bin, also erwarte ich nicht viel von einer Antwort, sondern stelle sie nur in der Hoffnung heraus 🙂

    Danke noch einmal!

    -Dave

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.