Joomla 1.5.x - Spam-Bot-Registrierungen verhindern

Bewertung:  / 4
SchwachSuper 

Problembeschreibung

Sie betreiben z.B. VirtueMart in Joomla. Die Nutzer registrieren sich per Shop-Checkout. Die Joomla-Registrierung wird über keinen Menüpunkt angeboten, ist also eigentlich deaktiviert. Trotzdem gelingt es Spam-Bots sich zu registieren.

Technischer Hintergrund

Das den Spam-Bots dies gelingt ist zunächst mal einfach erklärt:

Wenn ein Joomla-Projekt keine Registrierung anbieten will, dann ist es sicher ein einfacher Weg dieses gar nicht als Menüeintrag anzubieten. Wer sicher aber in Joomla etwas auskennt, und Hackern fällt es nicht schwer die Joomla-Internas zu durchschauen, kennte den URL über die die Joomla-Registrierung als Seite angezeigt werden kann. Diese sieht so aus:

ihre-domain/index.php?option=com_user&view=register

Damit gelingt es also recht einfach sich trotzdem im Shop zu registrieren und der Spammer erreicht zumindest, dass seine Spamnachricht in Ihrem Mailkonto landet.



Was kann man dagegen tun?

Sollte Sie ein ganz einfach J!-Projekt haben, wo eine Registrierung in keiner Weise gewünscht ist, dann kann man einfach die Registrierungsfunktion abschalten. In Joomla 1.5 gibt es dazu in der Konfiguration eine System-Option "Benutzerregistrierung erlauben". Diese wird deaktiviert und schon haben Sie Ruhe.

Wenn Sie jedoch die Nutzerregistrierungen benötigen oder eine Shop-Registrierung zwingend ist, dann ist Lösung nicht anwendbar. Auch wenn der Webshop seine eigene Registrierungsseite nutzt, prüft VirtueMart ob die Registrierung erlaubt. Man erhält dann eine Warnmeldung beim Versuch des Checkouts.

Also muss nach anderen Lösungen gesucht werden, von denen ich hier denkbare benennen will. In jedem Fall gehe ich davon aus, dass eine Shopregistrierung möglich sein soll, aber keine Registrierung über das Joomla-Formular.

  1. Über verfügbare Plugins kann man in das Registrierungsformular CAPTCHA-Grafiken einbinden.
  2. Alternativ ließen sich auch andere Technologien nutzen, wie z.B. Honey-Pot oder per Zeitfensterschutz. Dazu hatte ich schon mal einen zutreffenden Artikel veröffentlicht jedoch im Zus.hg mit der Formular-Komponten BreezingForms. Das setzt jedoch etwas Programmierkenntnisse in PHP/JavaScript voraus.
  3. Man kann auch das Formular stören z.B. in dem man das zugehörige Template entfernt. Unter components\com_user\views\register\tmpl\ einfach die Datei default.php umbenennen in z.B. default_renamed.php. Damit erhält man einen 500-Fehler. Der saubere Weg ist das nicht, weil diese Fehler natürlich im Error-Log auflaufen. Beachten, dass abhängig vom Template hier evtl. ein Overriding stattfindet. In dem Fall muss die Datei im Templateverzeichnis statt ebenfalls umbenannt werden.
  4. Besser wäre einfach das Script so zu manipulieren, dass es nicht mehr sauber verarbeiten kann. Jedes Formular in Joomla arbeitet mit einem Sicherheitstoken. Ohne gültigem Token keine Verarbeitung. Also kommentieren wir im Formlar einfach den Hidden-Input-Tag mit dem Token aus. Dazu öffnen wir o.g. default.php (enteder im Joomla-Originalpfad (s.o.) oder im Template-Override-Verzeichnis. Dort gehen man ganz ans Ende des Scriptes und kommentiert die Erzeugung der Formular-Tokenzeile aus: <?php # echo JHTML::_( 'form.token' ); ?>.

 

  • Keine Kommentare gefunden

Einen Kommentar verfassen

Als Gast kommentieren

0
Deine Kommentare erfordern die Moderation durch den Administrator
Nutzungsbedingungen.
Suche - Kategorien
Suche - Inhalt
plg_search_attachments
VM - Search, Virtuemart Product

Ihr Warenkorb

 x 
Ihr Warenkorb ist noch leer.