Falls mal jemand fragt

IT-Blog und auch total anderes Zeug

Drupal Spamanmeldungen reduzieren

| 2 Kommentare

Wer eine Webseite mit dem Open Source CMS Drupal betreibt, kennt vielleicht das Problem mit der erhöhten Anzahl an Benutzeranmeldungen, die sich nur zu Spam-Zwecken anmelden. Drupal selbst bietet leider keinen zuverlässigen Schutz, da die (insbesondere in Drupal integrierte) E-Mail-Verifikation alleine mittlerweile für Spambots kein großes Hindernis mehr ist. Eine Registrierung, die die Freigabe durch den Administrator benötigt ist in meinen Augen keine Lösung, da die Administration der Seite dadurch enorm aufwändig wird.
Also dachte ich mir, dass das zusätzliche Absichern der Registrierung durch durch ein Captcha mittels des Plugins reCAPTCHA eine sinnvolle Maßnahme ist. Ist es auch, allerdings kommen immer noch viel zu viele ungewollte Anmeldungen durch.

Heute dann, habe ich endlich eine akzeptable Lösung gefunden, um das Problem einzudämmen:
Das Plugin User-Verify von David Herminghaus erweitert die E-Mail-Verifikation von Drupal. Der Workflow der Registrierung ändert sich hier ein wenig. Neue Benutzer können sich mit Benutzername, E-Mail-Adresse und Kennwort registrieren. Der Account bleibt allerdings so lange gesperrt, bis der Benutzer den Verifikations-Link angeklickt hat. Der Clou hierbei ist, dass die E-Mail mit dem Verifikations-Link zeitversetzt versendet werden kann. Die E-Mail-Adressen der Spammer haben meist nur geringe Gültigkeit und werden durch diesen Aspekt zum Großteil bereits wirkungsvoll bekämpft. Außerdem werden User, die innerhalb von 24 Stunden (konfigurierbar) den Link nicht geklickt haben, und somit den Status gesperrt haben, gelöscht.

Kommen wir zur Konfiguration:
Zuerst das Plugin User-Verify herunterladen und installieren. Die Konfiguration kann unter den Kontoeinstellungen unter dem Reiter Verification (admin/config/people/accounts/verification) vorgenommen werden (in Englisch). Wenn die gewünschte Zeit beim E-Mail-Delay eingestellt ist, muss noch der Cronjob (admin/config/system/cron) angepasst werden. Leider bietet Drupal nur eine geringe Auswahl an Zeitintervallen, sodass ich hier auf eine serverseitige Lösung umgestiegen bin.

Ab Drupal 7 gibt es die Möglichkeit einen Link aufzurufen und darüber den Drupal-Cron anzustoßen. Ich habe das Modul auf einen E-Mail-Delay von 5 Minuten eingestellt, also wird auch ein Cronjob mit dem gleichen Intervall erstellt. Unter Linux funktioniert das mittels crontab -e. Hier wird dann folgende Zeile eingetragen:
*/5 * * * * wget -O - -q -t 1 http://<site>.<tld>/cron.php?cron_key=<euer key> Die Webseite erfahrt ihr unter System > Cron (admin/config/system/cron).

Cronjob_Drupal

Es kann natürlich passieren, dass die Mail nicht genau nach 5 Minuten rausgeht, sondern in einem Zeitraum von 5-10 Minuten, aber das ist verschmerzbar. Denkt daran, dass je niedriger der Intervall gewählt ist, umso mehr wird der Server belastet.

In den Kontoeinstellungen (admin/config/people/accounts) wird der Punkt „E-Mail-Verifikation ist notwendig, wenn ein Besucher ein Konto erstellt.“ deaktiviert. Außerdem solltet ihr hier die Standard E-Mail für „Willkommen (keine Bestätigung benötigt)“ abändern, um die Benutzer nicht zu verwirren. Mein Text schaut beispielsweise wie folgt aus:

[user:name],

vielen Dank für die Registrierung auf [site:name].

Um die Registrierung von Spam-Accounts einzudämmen, bekommst du etwas später einer E-Mail mit weiteren Anweisungen zur Registrierung.

Nachdem du den Anweisungen gefolgt bist, kannst du dich zukünftig mit folgenden Zugangsdaten bei [site:login-url] anmelden:
Benutzername: [user:name] Passwort: Ihr Passwort

Viele Grüße
Das Team von [site:name]

Wow… der Artikel ist lang geworden. Ich hoffe er hilft euch. Bei Rückfragen, einfach nachfragen.

 

Autor: Florian

Als staatlich geprüfter Techniker für Computer- und Netzwerktechnik berichte ich auf fmjf.de sowohl über den alltäglichen Wahnsinn als IT-Admin, als auch über Apple, Wordpress und – wie im Slogan schon erwähnt – total anderes Zeug.

2 Kommentare

  1. Hallo Florian,

    danke für diese Beschreibung.
    Weißt Du, wie man die beiden Module wieder deinstallieren kann?

    Einen lieben Gruß
    Kurbelursel

  2. Hey, schön dass das Modul Beachtung findet und offenbar von Nutzen ist. Zur Info, im Moment arbeiten wir an einer komplett neuen Version, denn die Zeit bleibt nicht stehen und auch Spammer entwickeln sich weiter.

    Dachte nur, das interessiert dich und den einen oder anderen vielleicht an dieser Stelle. Alpha wird’s vsl. noch diesen Monat (Okt. 2014) geben. Infos auf der offiziellen Modulseite.

    Beste Grüße!

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.