6 moderne Lösungen zum Schutz von Webformularen vor Spam

Spam ist ein Problem, mit dem alle Websitebesitzer zu kämpfen haben. Die einfache Wahrheit ist, dass Sie einige Spam-Einsendungen erhalten werden, wenn Sie Webformulare haben, um Informationen von Ihren Kunden auf Ihrer Website zu sammeln. In einigen Fällen erhalten Sie möglicherweise sehr viele Spam-Einsendungen.





Spam ist ein großes Problem, selbst bei Formularen, die nichts tun, was dem Spammer möglicherweise zugute kommen könnte (wie z. Spammer verwenden Webformulare, um zu versuchen, ihre eigenen Unternehmen und Websites zu bewerben, und sie verwenden sie auch für böswilligere Zwecke. Das Blockieren von Spammern aus Ihren Webformularen kann ein wichtiges Produktivitätstool sein und verhindert, dass Ihr Website-Kommentarbereich schäbig aussieht.

Spam-Lawine

Tim Robberts / Stein / Getty Images



Um Ihre Webformulare zu schützen, müssen Sie es einem automatisierten Tool erschweren oder unmöglich machen, das Formular auszufüllen oder zu übermitteln, und es gleichzeitig Ihren Kunden so einfach wie möglich machen, das Formular auszufüllen. Dies ist oft ein Balanceakt, denn wenn Sie das Ausfüllen des Formulars zu schwer machen, werden Ihre Kunden es nicht ausfüllen, aber wenn Sie es zu einfach machen, erhalten Sie mehr Spam als echte Einsendungen. Willkommen in den lustigen Zeiten der Verwaltung einer Website!

Fügen Sie Felder hinzu, die nur Spam-Bots sehen und ausfüllen können

Diese Methode stützt sich entweder auf CSS oder JavaScript oder beides, um Formularfelder vor Kunden zu verbergen, die die Website rechtmäßig besuchen, während sie Robotern angezeigt werden, die nur lesen HTML . Dann kann jede Formularübermittlung, die dieses ausgefüllte Formularfeld enthält, als Spam betrachtet werden (da es eindeutig von einem Bot übermittelt wurde) und von Ihrem Formularaktionsskript gelöscht werden. Sie könnten zum Beispiel den folgenden HTML-Code haben, CSS , und JavaScript:












E-Mail-Addresse:
Email:




CSS ein

|_+_|

Datei




|_+_|

JavaScript ein

|_+_|

Datei




|_+_|

Die Spam-Roboter sehen den HTML-Code mit den beiden E-Mail-Feldern und füllen beide aus, da sie das CSS und JavaScript nicht sehen, das es vor echten Kunden verbirgt. Dann können Sie Ihre Ergebnisse und alle Formularübermittlungen filtern, die die enthalten



|_+_|

Feld sind Spam und können automatisch gelöscht werden, bevor Sie sich jemals manuell darum kümmern müssen.




Diese Methode funktioniert gut mit weniger ausgeklügelten Spam-Bots, aber viele von ihnen werden intelligenter und lesen jetzt CSS und JavaScript. Die Verwendung von sowohl CSS als auch JavaScript wird helfen, aber es wird nicht den ganzen Spam stoppen. Dies ist eine gute Methode, wenn Sie sich keine großen Sorgen um Spam machen, es den Spambots aber etwas schwerer machen möchten. Ihre Kunden werden es überhaupt nicht bemerken.

Verwenden Sie ein CAPTCHA

Ein CAPTCHA ist ein Skript, das Spam-Bots daran hindert, auf Ihre Formulare zuzugreifen, während Menschen (größtenteils) durchkommen. Wenn Sie jemals ein Formular ausgefüllt haben und diese verschnörkelten Buchstaben erneut eingeben mussten, haben Sie ein CAPTCHA verwendet. Sie können eine kostenlose CAPTCHA-Lösung von ReCAPTCHA erhalten.

CAPTCHAs können beim Blockieren von Spam wirksam sein. Einige CAPTCHA-Systeme wurden gehackt, aber es ist immer noch ein effektiver Block. Das Problem mit CAPTCHAs ist, dass sie für Menschen sehr schwer lesbar sein können. ReCAPTCHA enthält eine hörbare Version für blinde Menschen, aber viele Menschen wissen nicht, dass sie sich etwas anhören und durchkommen können. Es ist nie eine gute Idee, Benutzer zu frustrieren, und diese Formular-CAPTCHAs tun oft genau das.

Diese Methode eignet sich gut für wichtige Formulare, die Sie schützen möchten, z. B. Registrierungsformulare. Sie sollten jedoch vermeiden, CAPTCHAs in jedem Formular auf Ihrer Seite zu verwenden, da dies Kunden davon abhalten kann, sie zu verwenden.

Verwenden Sie eine menschenfreundliche Bot-unfreundliche Testfrage

Die Idee dahinter ist, eine Frage zu stellen, die ein Mensch beantworten kann, aber ein Roboter keine Ahnung hat, wie er sie ausfüllen soll. Dann filtern Sie die Einsendungen, um nach der richtigen Antwort zu suchen. Diese Fragen haben oft die Form einer einfachen mathematischen Aufgabe, wie z. B. was ist 1+5?. Hier ist beispielsweise der HTML-Code für ein Formular mit einer Frage wie dieser:

|_+_|
E-Mail-Addresse:

Ein Zebra ist schwarz und


Dann, wenn die

|_+_|Wert nicht weiß ist, wissen Sie, dass es sich um einen Spambot handelt, und Sie können die Ergebnisse löschen.

Verwenden Sie Sitzungstoken, die auf Site-Ebene angewendet werden und für das Formular erforderlich sind

Diese Methode verwendet Cookies, um Sitzungstoken zu setzen, wenn ein Kunde die Website besucht. Dies ist eine ausgezeichnete Abschreckung für Spam-Bots, da sie keine Cookies setzen. Tatsächlich gelangen die meisten Spambots direkt zu den Formularen, und wenn Sie das Sitzungscookie haben nicht festgelegt auf dem Formular, wodurch sichergestellt wird, dass nur Personen, die den Rest der Website besucht haben, das Formular ausfüllen. Dies könnte natürlich Personen blockieren, die das Formular mit einem Lesezeichen versehen haben. Erfahren Sie, wie Sie Ihr erstes HTTP-Cookie schreiben.

Erfassen Sie Daten aus den Formularübermittlungen wie die IP-Adresse und verwenden Sie diese, um Spammer zu blockieren

Diese Methode ist weniger eine Verteidigung an vorderster Front, sondern eher eine Möglichkeit, Spammer im Nachhinein zu blockieren. Durch die Erfassung der IP-Adresse in Ihren Formularen können Sie dann Nutzungsmuster erkennen. Wenn Sie in sehr kurzer Zeit 10 Einsendungen von derselben IP erhalten, handelt es sich bei dieser IP mit ziemlicher Sicherheit um Spam.

Sie können die IP-Adresse mit PHP oder ASP.Net erfassen und dann mit den Formulardaten senden.

PHP:

|_+_|

ASP.Net

|_+_|

Diese Methode funktioniert gut, wenn Sie nicht viel kontinuierlichen Spam erhalten, sondern stattdessen regelmäßige Aktivitätsausbrüche, z. B. mit einem Anmeldeformular. Wenn Sie sehen, dass Personen mehrmals versuchen, auf Ihre geschützten Bereiche zuzugreifen, kann es ein starker Schutz sein, ihre IP zu kennen, damit Sie sie blockieren können.

Verwenden Sie ein Tool wie Akismet, um Spam-Einsendungen zu scannen und zu löschen

Akismet wurde eingerichtet, um Bloggern dabei zu helfen, Kommentar-Spam auf ihren Formularen zu blockieren, aber Sie können auch Pläne kaufen, die Ihnen helfen, Spam auch auf anderen Formularen zu blockieren.

Diese Methode ist bei Bloggern sehr beliebt, da sie so einfach anzuwenden ist. Sie erhalten einfach eine Akismet-API und richten dann das Plugin ein.

Die beste Spam-Management-Strategie verwendet eine Kombination von Methoden

Spam ist ein großes Geschäft. Daher werden Spammer immer kreativer, wenn es darum geht, Tools zum Blockieren von Spam zu umgehen. Sie haben ausgefeiltere Spambot-Programme und viele beschäftigen sogar schlecht bezahlte Leute, um ihre Spam-Nachrichten direkt zu posten. Es ist fast unmöglich, einen echten Menschen zu blockieren, der Spam manuell über ein Formular einreicht. Keine Lösung wird jede Art von Spam abfangen. Es kann also hilfreich sein, mehrere Methoden zu verwenden.

Aber denken Sie daran, verwenden Sie nicht mehrere Methoden, die der Kunde sehen kann. Verwenden Sie beispielsweise nicht sowohl ein CAPTCHA als auch eine vom Menschen beantwortbare Frage im selben Formular. Dies wird einige Kunden verärgern und Sie werden legitime Einreichungen verlieren.

Spezifische Tools zur Bekämpfung von Kommentar-Spam

Einer der häufigsten Orte, an denen Leute Spam sehen, sind Kommentare, und das liegt oft daran, dass sie ein Standard-Blogging-Paket wie WordPress verwenden. Wenn Sie WordPress selbst hosten, gibt es ein paar Dinge, die Sie tun können, um Kommentar-Spam speziell zu bekämpfen. Und diese funktionieren für jedes Blogging-System, auf das Sie Zugriff auf die Dateien haben:

    Verwenden Sie keine Standard-URLs für Formulare— Die meisten Kommentar-Spams sind automatisiert und gehen an WordPress und andere Blogseiten und greifen das Formular einfach direkt an. Aus diesem Grund sehen Sie manchmal Kommentar-Spam, selbst wenn Sie Kommentare aus Ihrer Vorlage entfernt haben. Wenn die Kommentardatei (normalerweise |_+_| genannt) auf Ihrer Website vorhanden ist, können und werden Spammer sie verwenden, um Spam-Kommentare in Ihrem Blog zu posten. Indem Sie den Dateinamen ändern, können Sie diese automatisierten Spambots blockieren.Verschieben Sie Ihre Formularseiten regelmäßig— Selbst wenn Sie keinen Standarddateinamen für Ihre Kommentare oder Formularfelder verwenden, können Spammer sie finden, wenn sie auf Ihrer Website verlinkt sind. Und es gibt viele Spam-Unternehmen, die lediglich URL-Listen an Formulare verkaufen, in denen Spammer ihre Posts schreiben können. Ich habe ein paar Formularseiten, die seit über fünf Jahren nicht mehr aktiv waren und immer noch regelmäßig von Spammern angegriffen werden. Sie erhalten einen 404-Fehler und ich sehe das in meinen Statistiken, also weiß ich, dass ich diese Seite nicht noch einmal verwenden sollte.Ändern Sie den Namen Ihrer Formularaktionsskripts regelmäßig— Aber genau wie bei den Formularseiten sollten Sie regelmäßig den Namen aller Skripte ändern, auf die Sie im |_+_|-Attribut Ihrer Formulare verweisen. Viele Spammer verweisen direkt auf diese Skripte und umgehen die Formulare vollständig. Selbst wenn Sie Ihre Formularseite verschieben, können sie immer noch ihren Spam senden. Indem Sie das Skript verschieben, leiten Sie sie stattdessen auf eine 404- oder 501-Fehlerseite. Und genau wie der vorherige Vorschlag habe ich Skripte, die gewesen sind gelöscht von meinem Server seit Jahren, die Spammer immer noch versuchen zu treffen.

Spammer sind wirklich lästig, und solange die Kosten für das Versenden von Spam so viel niedriger sind als die Rückkehr, wird es immer Spammer geben. Und das Wettrüsten von Schutztools gegen Spammer-Bots wird weiter eskalieren. Aber hoffentlich haben Sie mit einer Kombination der hier aufgeführten Tools eine Strategie, die einige Jahre hält.