How to Protect your Drupal Forms against Bots? Review of Captcha Module

Wie schützen Sie Ihre Drupal-Formulare vor Bots? Überprüfung des Captcha-Moduls

Beim Veröffentlichen eines Formulars auf Ihrer Website müssen Sie damit rechnen, dass früher oder später Spambots es finden werden. Sie sind einer der größten Plagen des modernen Internets. Das Captcha-Modul wird Sie vor solchen Situationen schützen.

Im weiteren Verlauf des Artikels werde ich die Anweisungen zur Verwendung des Moduls und seine potenziellen Möglichkeiten präsentieren. Dies ist essentielles Wissen, das wir in der Praxis als Teil der Drupal-Entwicklungsdienste nutzen, die von Droptica angeboten werden.

Daten

Die erste Version des Moduls wurde im Mai 2005 für Drupal 4 veröffentlicht. Die Entwicklung der Version für Drupal 8 dauerte viele Jahre. Die ersten Tests fanden 2013 statt, aber die Premiere einer stabilen Version erfolgte erst Anfang 2020.

Beliebtheit des Moduls

Captcha ist ein beliebtes und geschätztes Modul. Laut offiziellen Statistiken wird es von fast 300.000 Drupal-basierten Websites verwendet. Die neueste Version aus dem Zweig 8.x-1.x ist auf 80.000 Websites installiert. Die Beliebtheit des Moduls nimmt allmählich ab – vermutlich aufgrund des Wechsels zu anderen, moderneren Lösungen.

CAPTCHA-Beliebtheit

Ersteller des Moduls

Das Captcha-Modul hat fünf Betreuer; sie sind Jakob Perry (Acquia und Lanfest), Fabiano Sant’Ana (Chuva Inc.), Lachlan Ennis (Expert1 Pty Ltd), Naveen Valecha (Acquia) und Andrii Podanenko (Open Y und ITCare). Sie sind alle sehr aktive und wertvolle Mitglieder der Drupal-Community. Der offizielle Sponsor des Moduls ist das Unternehmen Chuva Inc. Das Code-Repository besteht aus 606 Commits von fast 120 Nutzern.

Wofür wird das Modul verwendet?

Das Captcha-Modul wird zum Schutz von Formularen vor Spam verwendet; es hilft Ihnen sicherzustellen, dass der Besucher der Webseite kein Internet-Roboter ist. Es gibt viele Möglichkeiten, die Authentizität des Nutzers zu überprüfen (wie z.B. reCaptcha) – diese werden als abhängige Module bereitgestellt. Standardmäßig können Sie eine einfache mathematische Herausforderung nutzen, die das Formular sperrt, wenn die Person, die es ausfüllt, zwei Zahlen nicht addieren kann.

Auspacken

Sie können das Captcha-Modul unter https://www.drupal.org/project/captcha herunterladen.

Nach der Aktivierung des Drupal-Moduls ist der einzige notwendige Schritt, die Formulare auszuwählen, die Sie durch Schutz abdecken möchten. Gehen Sie zu den Moduleinstellungen, indem Sie „Konfiguration → Personen → CAPTCHA-Modul-Einstellungen“ auswählen und die Registerkarte „Formulareinstellungen“ aufrufen. Suchen Sie dort Ihr Formular und aktivieren Sie es, indem Sie auf die Schaltfläche „Aktivieren“ klicken.

CAPTCHA - Liste

Wenn das Formular nicht in der Liste steht, fügen Sie es hinzu, indem Sie auf die Schaltfläche „Captcha-Punkt hinzufügen“ klicken und form_id eingeben. Die Auswirkung des Moduls auf das Nutzeranmeldeformular sieht folgendermaßen aus:

CAPTCHA - Formular

Nutzung des Moduls

Das Captcha-Modul verfügt über mehrere erweiterte Einstellungen, mit denen Sie den Schutz Ihrer Webseiten besser anpassen können. Die wichtigsten sind:

  • Standardherausforderungstyp - die Möglichkeit, die Art der „Falle“ auszuwählen, standardmäßig ist es eine mathematische Operation. Externe Module bieten andere Typen.
  • Standardherausforderung auf nicht aufgelisteten Formularen - eine radikale Lösung, die Schutz für alle Formulare ermöglicht, die nicht in der Liste „Formulareinstellungen“ aufgeführt sind.
  • CAPTCHA-Verwaltungslinks zu Formularen hinzufügen - eine sehr nützliche Option, die es Ihnen ermöglicht, die Art der Sicherheit direkt vom gegebenen Formular aus zu verwalten. Es spart viel Zeit bei komplizierten Webseiten.
  • CAPTCHA-Platzierungscaching - Cache-Leerung, nützlich bei Problemen mit Formularen.
  • Eine Beschreibung dem CAPTCHA hinzufügen - Hinzufügen einer Beschreibung, die erklärt, warum der Benutzer beweisen muss, dass er kein Bot ist.
  • Fall-sensitive/insensitive Überprüfung - Bestimmen, ob zwischen Groß- und Kleinschreibung bei der Lösung des dem Benutzer präsentierten „Rätsels“ unterschieden wird.
  • Persistenz - die Möglichkeit, den Schutz in bestimmten Spezialfällen zu deaktivieren, z.B. wenn der Nutzer zuvor seine Authentizität bestätigt hat.

Hooks und Integrationen

Captcha stellt zwei Hooks bereit, um Drupal-Module zu integrieren, die Nutzer verifizieren. Diese sind:

  • hook_captcha() - der Haupt-Hook zum Definieren Ihrer eigenen Submodule; er hat eine aus Drupal 7 bekannte Struktur (er überträgt die $op-Variable, die den Typ der aktuell durchgeführten Operation enthält).
  • hook_captcha_placement_map() - optionaler Hook, der den zu modifizierenden Ort im Formular angibt.

Hier liegt die wahre Kraft des Moduls. Auf drupal.org finden Sie eine Reihe von Projekten, die verschiedene Verifizierungsmethoden implementieren:

  • reCAPTCHA - zur Unterstützung der beliebtesten verfügbaren Verifizierungsdienste, bereitgestellt von Google.
  • Image CAPTCHA refresh - dieses Modul ist ein integraler Bestandteil von Captcha für Drupal 8; für Drupal 7 fungiert es als separates Projekt. Es führt ein Widget mit einem Bild ein, aus dem man einen Text abschreiben muss.
  • CAPTCHA Pack (nur Alphaversion) - eine Sammlung sehr interessanter „Fallen“ für Bots, einschließlich des Ergänzens eines fehlenden Buchstabens oder Wortes in einem Satz.
  • Text CAPTCHA (nur Drupal 7) - Integration mit der Webseite textcaptcha.com.
  • Captcha Riddler - ermöglicht es Ihnen, Ihre eigene Reihe von Rätseln für den Benutzer zu definieren.
  • Hidden CAPTCHA (nur Drupal 7) - täuscht Bots, indem es ein unsichtbares Feld einfügt, das das Formular daran hindert, gesendet zu werden.
  • CAPTCHA after (nur Drupal 7) - führt Captcha erst aus, nachdem der Benutzer das Formular mehrfach abgesendet hat.
  • KeyCAPTCHA (nur Drupal 7) - Integration mit der Webseite keycaptcha.com.
  • Draggable CAPTCHA (nur Drupal 7) - ein Drag & Drop-Rätsel, keine Abhängigkeit von externen Websites.

Zusammenfassung

Die Hauptargumente für das Modul sind die Effektivität und Einfachheit der Implementierung. Es ist perfekt zum Schutz vor Internet-Spammern geeignet.

Wir verwenden es auch in unserer Drupal-Agentur als ein Werkzeug, das zu jedem Formular passt und keine zusätzliche Codierung erfordert.

As part of Drupal support, we maintain existing websites and expand them with new functionalities