webSPELL Kommentare besser gegen Spam schützen
Wer seine Clanseite mit webSPELL (4.2.2) betreibt dürfte sie kennen, die Spam-Einträge in den Kommentaren. Trotz aktiviertem Captcha kommen regelmäßig neue Spameinträge von diversen Bots durch und zerstören das Gesambild der Seite. Wer hier Abhilfe schaffen will, kann auf das folgende Addon für webSPELL zurückgreifen, dass auf Basis einer Blacklist Kommentare filtert.
webSPELL 4.2.2 Badword & Delete Spam Easiely Addon von weseo.de
Die meisten Spamkommentare haben eins gemeinsam: sie nutzen die gleichen Keywords um auf sich aufmerksam zu machen. Jedem dürften die “wow gold” Beiträge bekannt sein, oder verheißungsvolle Meldungen zu “viagra“. Anhand dieser sich wiederholenden Wörter bietet Badwords die Möglichkeit der Filterung.
Funktionsweise
Badwords bietet im Admincenter ein neues Menü an, in welchem man die Möglichkeit hat seine Blacklist mit den bösen Wörtern zu füllen. Das Addon prüft direkt die Kommentare auf die eingegebenen Wörter, zeigt diese an und bietet die Möglichkeit sie direkt zu löschen.
Neue Kommentare die eines oder mehrere der eingegebenen Wörter enthalten, werden geblock und der (nicht registrierte) User bekommt einen Hinweis, dass der Kommentar nicht gespeichert wurde, da er ein verbotenes Wort benutzt hat. Registrierte User sind von dieser Sperre ausgeschlossen und können weiterhin alle Begriffe nutzen die sie möchten.
Installation
Badwords lässt sich ganz simpel wie die meisten webSPELL Addons installieren.
Achtung: Wie bei jeder Addon-Installation empfehle ich ein Backup der Dateien sowie der Datenbank anzulegen! Eine Anleitung dazu findet ihr hier im Blog: Datenbank-Backup
- Entpacken des runtergeladenen Archivs
- Auswahl des richtigen Ordners (Clan oder Society Edition)
- Upload des Ordnerinhalts in das webSPELL Stammverzeichnis auf dem Webspace mittels FTP; überschreiben der vorhandenen Dateien
- im Browser die Domain “deinedomain.de/index.php?site=install_badword” aufrufen und im Anschluss die install_badword.php Datei vom Server löschen
- in der Datei admin/admincenter.php nach der Zeile “<li><a href=”admincenter.php?site=static”><?php echo $_language->module['static_pages']; ?></a></li>” suchen und folgende Zeile dahinter hinzufügen “<li><a href=”admincenter.php?site=badword”>Badwords</a></li>“
Jetzt nur noch die geänderte admincenter.php Datei hochladen und wie gewohnt das Admincenter über die Clanpage aufrufen. Dort findet sich jetzt der Punkt “Badwords” deren Menü selbsterklärend sein sollte.
Screenshots (by weseo.de)
webSPELL – Massen an Spam schnell löschen
In den vergangenen Wochen und Monaten hatten wir auf unserer Clanpage vermehrt “Spamattacken“, die nervige Werbung und sinnlose Texte in unseren Newskommentaren und im Forum hinterlassen haben. Der eingebaute Spamschutz von webSPELL (Captcha Abfrage) scheint bei diesem Spam keine Wirkung zu zeigen, weshalb sich zahlreiche solcher Einträge quer durch die Seite verteilt finden.
Wo sich anfangs das ganze noch durch manuelles Löschen beseitigen lies, stellte sich bald raus, dass man auch in vielen älteren Beiträgen auf diesen Spam gestoßen ist, der zudem immer zahlreiche zu werden schien. Manuelles Löschen wurde damit zur Sisyphosarbeit.
Wenn wir schon nicht verhindern können, dass diese Art von Spam bei uns landet, so habe ich nach einer Möglichkeit gesucht, ihn wenigstens schnell zu entfernen. Eine Variante wäre über eine SQL-Abfrage direkt in der Datenbank:
ANMERKUNG: Bevor ihr irgendwelche Änderungen an der Datenbank macht, fertigt eine Sicherung an! Wie ihr das macht, erfahrt ihr in diesem Artikel auf meinem Blog.
DELETE FROM `DATENBANKNAME`.`webs_comments` WHERE `webs_comments`.`userID` = 0
Da sich die Spambots nicht registrieren und somit keine Benutzer-ID (bzw. ID 0) bekommen, werden mit dem oberen SQL-Befehl alle Kommentare in der Tabelle webs_comments, die die Benutzer-ID 0 haben, gelöscht.
ACHTUNG: Das bedeutet aber, dass alle Kommentare, die von Gästen (sprich nicht registrierten Benutzern) geschrieben wurden, gelöscht werden! Ob von einem Spambot, oder nicht!
Eine weitere Möglichkeit über SQL wäre es, wenn man die Abfrage etwas spezielisiert:
DELETE FROM `DATENBANKNAME`.`webs_comments` WHERE `webs_comments`.`nickname` = ‘NAME’
Diese Abfrage löscht alle Kommentare, die vom Benutzer “NAME” geschrieben wurden. Da ein Spambot meist mehrere Kommentare unter einem Namen verfasst, kann man so auf einmal alle Kommentare dieses Bots löschen. In der Regel hat man aber meist weiteren Spam unter anderem Namen. In diesem Fall muss für jeden Spammer die Abfrage im Bezug auf den Namen angepasst werden. Diese Methode erfordert also weiterhin Handarbeit, doch weitaus weniger, als jeden Kommentar einzeln in News und Co. zu suchen und zu löschen.
Den Namen, den ein Bot benutzt hat, kann man leicht in der oben genannten Datenbanktabelle webs_comments nachgucken.



