![]() | ||||||||||||||||||||||||||||||||||||
Navigation • Home
| Captcha gegen Spam einfach erklärt
Ihr Kontaktformular ist seit einem Monat online, und jeden Morgen liegen zwanzig Mails im Postfach, die mit Ihren Fotos nichts zu tun haben. Irgendwann taucht dann die Frage auf, ob ein Captcha gegen Spam hilft, also eine kleine Prüfung vor dem Absenden, die Menschen durchlässt und Programme aufhält. Die Antwort hängt davon ab, welche Art von Captcha Sie wählen, wo das Formular steht und wen Sie damit ungewollt mit aussperren. Diese Seite erklärt das Prinzip an konkreten Fällen, vergleicht drei verbreitete Lösungen und zeigt, warum das Bildergalerie-Script ohne Captcha auskommt.
Captcha gegen Spam: was hinter dem Namen stecktDas Wort ist ein Kürzel für Completely Automated Public Turing test to tell Computers and Humans Apart. Auf Deutsch: ein Test, den ein Computer selbständig stellt und auswertet und der Menschen von Programmen trennen soll. Der Bezug auf Alan Turing kommt von seiner Frage, ob man eine Maschine im Gespräch von einem Menschen unterscheiden kann. Beim Captcha ist die Rolle umgedreht, hier prüft die Maschine den Menschen. Lange beruhte das auf Wahrnehmung: verzerrte Buchstaben lesen, Ampeln auf Fotos finden. Programme erkennen solche Bilder inzwischen oft besser als Menschen. Moderne Verfahren prüfen deshalb etwas anderes, nämlich wie sich jemand auf der Seite bewegt, oder sie machen das Absenden für Programme teuer, indem der Browser erst eine Rechenaufgabe lösen muss. Für einen einzelnen Besucher dauert das eine Sekunde, für einen Bot, der tausend Formulare in der Stunde füllen will, summiert es sich. Vier Bauarten im VergleichWas Ihnen auf fremden Seiten als Captcha begegnet, lässt sich grob in vier Gruppen sortieren. Für eine kleine Website mit Galerie unterscheiden sie sich vor allem darin, wie sehr sie echte Besucher stören und ob Daten an einen fremden Anbieter gehen.
Das bekannteste Beispiel für die dritte Gruppe ist Google reCAPTCHA. In Version 2 sieht man das Kästchen Ich bin kein Roboter, bei Verdacht folgt eine Bildaufgabe; Version 3 zeigt gar nichts an. hCaptcha arbeitet ähnlich, kommt aber von einem anderen Anbieter. Zur vierten Gruppe zählen Friendly Captcha, ein Anbieter aus Deutschland, und das quelloffene ALTCHA, das auf dem eigenen Server läuft. Wie sich reCAPTCHA, Friendly Captcha und ALTCHA bei Kosten, Datenschutz und Einbau unterscheiden, zeigt ein Vergleich weiter unten. Keine echte Captcha-Art, aber oft die erste Wahl ist die versteckte Feldfalle, der Honeypot: ein Feld, das Menschen nicht sehen und Bots trotzdem ausfüllen. Wie ein Captcha im Formular arbeitetOb selbst gebaut oder von einem Anbieter, jedes Captcha folgt demselben Ablauf. Entscheidend ist, dass die Prüfung auf dem Server stattfindet und nicht im Browser:
Die Grafik spielt den Ablauf an der Rechenfrage „3 + 4“ durch. Zum Browser geht nur die Aufgabe, die Lösung 7 bleibt in der Sitzung auf dem Server. Nach dem ersten Vergleich ist sie gelöscht, dieselbe Antwort ein zweites Mal hilft also nicht. Zwei Fehler machen ein selbst gebautes Captcha gegen Spam-Bots wirkungslos, und beide kommen häufig vor. Steht die richtige Antwort in einem versteckten Feld im Quelltext, liest der Bot sie einfach mit. Und prüft nur JavaScript im Browser, ob die Antwort stimmt, schickt der Bot sein Formular direkt an den Server, ohne die Seite überhaupt zu laden. Erkennen können Sie beides, wenn trotz Captcha weiter Spam eintrifft, und zwar in gleicher Menge wie vorher. Welches Formular welche Hürde brauchtJedes Captcha ist eine Hürde für alle Besucher, auch für die echten. Ob sie sich lohnt, hängt vom Formular ab:
Denken Sie bei jeder sichtbaren Aufgabe an Menschen mit Sehbehinderung. Ein Bildrätsel ohne Alternative, etwa eine Audioaufgabe, sperrt sie vom Formular aus. Bei einem Kontaktformular, über das jemand nur eine Frage zu einem Foto stellen möchte, ist das ein unnötiger Ausschluss. Honeypot und Mindestzeit in vier SchrittenDie beiden unsichtbaren Hürden kosten echte Besucher nichts und halten die meisten einfachen Bots auf. In einem selbst gebauten PHP-Kontaktformular sieht das so aus:
Kommt danach immer noch täglich Spam durch, ist ein Captcha der nächste Schritt, am besten eines aus der vierten Gruppe ohne Bildrätsel. reCAPTCHA, Friendly Captcha oder ALTCHA: drei Wege im VergleichWer für ein Kontaktformular ein Captcha gegen Spam-Nachrichten auswählt, landet meist bei einem dieser drei. Gegen einfache Bots wirken alle drei. Unterschiede gibt es bei der Frage, wer die Prüfung durchführt, was sie kostet und was in Ihre Datenschutzerklärung gehört.
Bei reCAPTCHA v3 sieht der Besucher nichts. Ihr Server bekommt von Google einen Wert zwischen 0,0 und 1,0, der angibt, wie menschlich der Besuch wirkte, und entscheidet selbst, ab welchem Wert er ablehnt; Google nennt 0,5 als Ausgangspunkt. Tarife und Freikontingente ändern sich, ein Blick in die aktuelle Preisliste des Anbieters gehört vor jede Entscheidung. Nutzt Ihre Seite sonst keine Google-Dienste, holen Sie sich mit reCAPTCHA einen Einwilligungsbanner ins Haus, den Sie ohne das Captcha nicht bräuchten. ALTCHA in ein eigenes PHP-Formular einbauenALTCHA passt zu allen, die keinen fremden Dienst einbinden wollen und ein wenig PHP nicht scheuen. Der Einbau in ein vorhandenes Kontaktformular läuft in vier Schritten:
Hier zeigt sich eine Spielart des Prinzips aus der ersten Grafik. ALTCHA legt die Lösung nicht in der Sitzung ab, sondern signiert die Aufgabe. Fälschen kann ein Bot sie trotzdem nicht, ihm fehlt der Schlüssel. Die Regel „jede Lösung nur einmal“ setzt aber erst Ihr Code aus Schritt 4 durch. Warum das Bildergalerie-Script kein Captcha brauchtDas Bildergalerie-Script bringt kein Captcha mit, und es braucht auch keines. Die Galerie enthält für Besucher kein einziges Formular. Es gibt keine Kommentare, keine Bewertungen, kein Kontaktformular und keine Registrierung für Besucher. Besucher sehen Kategorien, Vorschaubilder und die große Ansicht in der Lightbox, absenden können sie nichts. Ein Captcha hätte dort nichts zu bewachen. Das einzige Formular ist die Anmeldung zur Verwaltung im Ordner Die Rechnung dahinter: Höchstens 5 Prüfungen in jedem Zeitraum von 5 Minuten ergeben 60 in der Stunde und 1.440 am Tag für einen Benutzernamen. Wechselt der Bot seine IP-Adresse, hilft ihm das nicht, denn die Sperre je Benutzername gilt unabhängig davon. Ein Passwort aus 8 zufälligen Kleinbuchstaben und Ziffern hat 36 hoch 8, also rund 2,8 Billionen Möglichkeiten. Um alle durchzuprobieren, bräuchte der Bot bei diesem Tempo über fünf Millionen Jahre. Ein Captcha würde Sie dagegen bei jeder eigenen Anmeldung ausbremsen, die Sperre merken Sie nur, wenn Sie sich fünfmal hintereinander vertippen. Einen Haken hat die Sperre: Wer Ihren Benutzernamen kennt, kann Sie mit Absicht immer wieder für 5 Minuten aussperren. Wählen Sie deshalb im Installer einen Benutzernamen, der nicht „admin“ lautet und nirgends öffentlich steht. Wer den Login zusätzlich abschirmen will, legt im Kundenmenü des Webhosters einen Verzeichnisschutz vor den Ordner Häufige FragenDiese Fragen kommen am häufigsten, wenn es um den Schutz eines Formulars geht. Wofür steht die Abkürzung CAPTCHA eigentlich?Für Completely Automated Public Turing test to tell Computers and Humans Apart. Gemeint ist ein Test, den ein Computer ohne menschliche Hilfe stellt und auswertet, um Menschen von Programmen zu unterscheiden. Der Name spielt auf den Turing-Test an, bei dem umgekehrt Menschen eine Maschine prüfen. Welche modernen Captcha-Verfahren gibt es heute?Verbreitet sind Verhaltensprüfungen wie Google reCAPTCHA und hCaptcha, außerdem Verfahren, bei denen der Browser eine kurze Rechenaufgabe löst. Daneben steht der Honeypot, streng genommen kein Captcha, sondern ein verstecktes Feld. Wer einen externen Anbieter einbindet, muss das in der Datenschutzerklärung erwähnen, weil dabei Daten des Besuchers an dessen Server gehen. Welches Captcha gegen Spam-Mails passt zu einem kleinen Kontaktformular?Zunächst gar keines: Feldfalle und Mindestzeit halten die meisten Bots auf und stören niemanden. Reicht das nicht, ist ALTCHA auf dem eigenen Server die naheliegende Wahl, weil keine Daten an einen fremden Dienst gehen und keine Kosten entstehen. Wer nichts programmieren möchte, nimmt Friendly Captcha. reCAPTCHA passt vor allem dann, wenn die Seite ohnehin Google-Dienste mit Einwilligung nutzt. Hat das Bildergalerie-Script ein Captcha für Kommentare?Nein. Das Script hat keine Kommentarfunktion und für Besucher überhaupt kein Formular, also auch kein Captcha. Die Anmeldung zur Verwaltung schützt es mit einer Sperre von höchstens 5 Minuten nach 5 Fehlversuchen, gezählt je IP-Adresse und je Benutzername. Verwandte ThemenZum Schutz von Formularen und zu den Pflichten, die ein eingebundener Dienst mit sich bringt, passen diese Seiten. | |||||||||||||||||||||||||||||||||||