Es wird kein Registierformular benutzt, somit bringt mir das Honeypot Modul, welches ich installiert habe auch nichts!
Was kann ich noch tun, um dies zu unterbinden?
Derzeit bekommt der Kunde immer nur Fehlermails vom Server, da die angegebene Emailadresse nicht existent ist. Dann sperre ich die IP, bis zum nächsten mal!
das OXID eigene Chaptcha Modul, welches ich natürlich im Einsatz habe, sieht für das register.tpl kein Chaptcha vor! Gegen ein Google Re-Chaptcha sperrt sich der Kunde wegen Datenschutz :-(.
Im Formular ist wie schon geschrieben, ein verstecktes Feld drin und die OptIn Checkbox auch.
Im Serverlog sieht man auch keinen Zugriff auf die Seite /index.php?cl=register.
Da steht im Log eigentlich die Domain des Shops, die habe ich nur unkenntlich gemacht. Der Spamer gibt keine gültigen Emailadressen an, daher dann die Fehlermeldungen vom Emailserver. Wenn es die nicht gäbe würde man die Angiffe gar nicht mitbekommen.
@TumTumi
Fan2ban müsste ich mir auf dem Server einrichten lassen. Aber da die Anfrage HTTP-Statuscode 200 beantwortet wird, wird das auch nichts bringen!
Du kannst das ja umdrehen. Ich nehme an du hast ein leeres Input und falls jemand etwas reinschreibt wird es abgelehnt. Wenn du im Register-Formular ein hidden input “from_register_form” mit value 1 reinschreibst kannst du es ablehnen falls dieses Feld nicht gesendet wird, der Spammer sich das Formular also gar nicht angesehen hat.
Mir ist das ganze schon etwas peinlich aber so ein Feld ist eigentlich schon drin!
Die Checkbox von OptIn Modul hat als value=“1”. Ein normaler User bekommt das Formular nicht versendet ohne Haken.
Edit: Ich glaube ja fast, das der Spammer das Formular gar nicht benutzt, sondern das direkt an den Server schickt!
Sicher, das geht auch je nach Anwendung über URL und bedarf dann keiner Form. Die Hacker hängen die Variablen aus einer Form an die URL und testen alles durch, bis eine Lücke entdeckt wird. Dafür gibt’s natürlich Scripte.
Gibt es da technische Möglichkeiten das zu unterbinden? Man liest ja hier bei OXID wenig bis gar nichts über solche Fälle. In dem Fall nützen ja dann auch keine Spammaßnahmen im Formular!
Aber wenn man Tante Google nach “spammer registierung” fragt findet man einiges drüber.
Wie oben erwähnt, müsstest das Captcha einbauen. Danach sollte ruhe sein. Ich habe das bei einem Shop überall hingesetzt, wo Daten einzugeben sind. Funktioniert.
Dazu reicht es, folgendes in den Controller zu legen und den Rest aus dem Template zu kopieren:
protected $_oCaptcha = null;
public function getCaptcha()
{
if ($this->_oCaptcha === null) {
$this->_oCaptcha = oxNew(‘oxCaptcha’);
}
return $this->_oCaptcha;
}
und über
$oCaptcha = $this->getCaptcha();
if (!$oCaptcha->pass($sMac, $sMacHash)) {
// even if there is no exception, use this as a default display method
oxRegistry::get("oxUtilsView")->addErrorToDisplay('MESSAGE_WRONG_VERIFICATION_CODE');
return false;
}
Die ist aber im Standard ja drin. Wenn du da ein eigenes Feld machst was sich evtl. immer wieder ändern lässt, kann man zumindest nicht mehr spammen ohne sich das Formular vorher anzuschauen. Was du auch machen könntest, ist die Registrier-Mails abzustellen, das verhindert zwar nicht die Registrierung, aber zumindest wird dann niemand mehr belästigt: Keine E-Mail bei Registrierung CE/PE | 6.x | WEB-Grips Shop
Ansonsten hilft wohl nur Captcha einbauen.
ich gebe zu ist ein kleiner Konfigration aufwand. Die Idee wäre mit der Funktion getLogger() die Registierungs Prozesse zu loggen. Und diese Logdatei mit fan2Ban zu analysieren. Wenn in einem bestimmten Zeitraum von der selben IP Adresse registierungen rein gehen. Die IP für 24h zu sperren.
Hallo Tum Tumi,
das ist sicher auch ein guter Ansatz aber für mich programmiertechnisch, mangels Kenntnissen, nicht durchführbar.
Ich versuche jetzt gerade im Captcha Modul von Oxid das Registrierformular einzubinden.
Angezeigt bekomme ich es schon mal im Formular! Leider habe ich es noch nicht geschafft, daß man auch gezwungen ist es auszuführen.
Aber das ist hier schon etwas OT.
$sMac = oxRegistry::getConfig()->getRequestParameter('c_mac');
$sMacHash = oxRegistry::getConfig()->getRequestParameter('c_mach');
$oCaptcha = $this->getCaptcha();
if (!$oCaptcha->pass($sMac, $sMacHash)) {
// even if there is no exception, use this as a default display method
oxRegistry::get("oxUtilsView")->addErrorToDisplay('MESSAGE_WRONG_VERIFICATION_CODE');
return false;
}