Jump to content

Recommended Posts

In den letzten Wochen gekommen wir immer wieder tausende von Werbemails für ein chinesisches Spieleportal, die alle über den chinesischen Provider qq.com verschickt werden. Ca. 100 IP-Adressen, die qq.com zuzuordnen sind werden über die .htaccess schon geblockt, aber es gibt wohl deutlich mehr.

Alle diese Mail kommen über das italienische Kontaktformular, das wir nun gerne zeitweise deaktivieren möchten – ohne allerdings das deutsche und englische Kontaktformular gleichzeitig mit abschalten zu müssen. Gibt es in PS 1..6.1.10 eine Möglichkeit, speziell nur das Kontaktformular einer einzigen Sprache zu deaktivieren?

Share this post


Link to post
Share on other sites

Du müßtest doch alle chinesischen IPs blocken können (oder hast du italienischsprechende chinesische Kunden?).

Es gibt auch die Möglichkeit, eine Bad-Word-Liste in den Code einzufügen.

Eine dritte Möglichkeit wäre, eine Umleitung per .htaccess für das italienische Kontaktformular anzulegen z. B. zu einer CMS-Seite, auf der Kunden darauf hingewiesen werden, daß das Kontaktformular nicht zur Verfügung steht und sie um einen Kontakt per E-Mail gebeten werden.

Share this post


Link to post
Share on other sites

In Override/controllers/front

eine Datei namens ContactController.php suchen (oder erstellen) mit folgendem Inhalt:

<?php
class ContactController extends ContactControllerCore
{
    public function postProcess()
    {
        if(Tools::isSubmit('submitMessage')) {
 
            $message = Tools::getValue('message');
            $from = Tools::getValue('from');
 
            $banned_in_email = ['qq.com', 'QQ.com', '.vn'];
            $banned_content = ['email marketing', 'iagra', 'itcoin'];
 
            foreach ($banned_in_email as $string) {
                if(strstr($from, $string))
                    $this->errors[] = Tools::displayError('This email address is not allowed');
            }
 
            foreach ($banned_content as $string) {
                if(strstr($message, $string))
                    $this->errors[] = Tools::displayError('Invalid Content');
            }
        }
        parent::postProcess();
    }
}
?>

Dann Cache leeren und freuen. Da kann man bei banned_in_email die Adressenbereiche sperren, bei banned_content entsprechend Inhalte, alles immer schön in einfache Anführungszeichen und Kommagetrennt.

PS: Ich hab die Datei nicht ganz komplett reingestellt gehabt, sorry. Jetzt ist sie komplett.
Man kann auch die Texte in den Übersetzungen anpassen.

Edited by Claudiocool (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Vielen Dank für eure Hilfe.

Bisher liefen die Span-Attacken immer Mitten in der Nacht, gestern konnte ich zum ersten Mal tagsüber miterleben, wie in kürzester Zeit 1500 Spammails über das Kontaktformular ankamen.
Mit Hilfe des Providers, des access-Logfile und der POST-Funktion konnte ich die IP-Adresse des Absenders finden und in der .htaccess sperren. Wenn das nicht hilft, dann werde ich es mal mit dem Script probieren.

Mehrere 1000 IP-Adressen die China zuzuordnen sind hatte ich bereits gesperrt, aber es gibt wohl noch ein paar mehr :-)
Ganze IP-ranges, z.B. 219.0.0.0 bis 219.999.999.999, mit Platzhaltern zu sperren ist wohl nicht nicht möglich?

Share this post


Link to post
Share on other sites

Da das ganze über Proxies geht, hilft das mit den IP zu sperren, nichts. Du wirst dich eben dranmachen müssen, die Adress-Segmente, die da angespamt werden, via Script zu sperren, dazu dann die gängigen Schlagworte (Viagra, Porn, Pill, usw) in den Banned Content rein, dann ist schnell Ruhe und die ziehen weiter.

Mir ging es vor 2 Jahren so, als ich in den Urlaub fuhr, die Spams kamen im Millisekundentakt rein, so dass ich damals genervt in einer Raststätte das Laptop ausgepackt hatte und das Script reingesetzt habe. Im Log sah man dann das Interesse der Spammer innerhalb von 1-2 Tagen gegen Null gehen. Glücklicherweise gibt es genug unveränderte Shops, die dann eben an meiner Stelle Besuche bekommen haben.

Eine andere schnelle Möglichkeit ist die Umbenennung der Datei, damit die Spamscripts ins Leere laufen, dazu muss dann aber in der Config bei SEO&URLs die entsprechende Anpassung vorgenommen werden.

Es sind bei IPs viele Möglichkeiten da, Ranges zu sperren, aber auch viele Normalös sind mit Proxies unterwegs, die sperrst du damit auch gleich aus. verdirb den Spammern wie beschrieben den Spass daran und Ruhe kehrt ein.

Edited by Claudiocool (see edit history)

Share this post


Link to post
Share on other sites

Kann das Script aus mit chinesischen Schriftzeichen umgehen?

優發國際
開始就宋樶ɡαo88¥
瘟疫毒不死你,洪水沒淹死你
還有什麼理由不讓你發財!!

 

Share this post


Link to post
Share on other sites

Das Recaptcha ist keine milde Gabe von Google, sondern erfüllt auch gewisse Zwecke für Google. Damit hatte ich auch rumgespielt, aber aus Datenschutzgründen wieder davon abgesehen. Meine Devise ist, möglichst wenige Zugriffe Dritter auf der Seite zu haben.

Mit dem Script oben muss man sich nur dann mal 1-2 Tage damit auseinandersetzen, was in den Spammails so drinsteht, dann die Filter entsprechend schärfen und ab einem gewissen Punkt vergeht denen dann die Lust.

Kleiner Tipp am Rande noch, wer sich wundert, warum da halbe Worte drinstehen. Das Ding ist Case-sensitiv, Groß- und Kleinschreibung spielt eine Rolle. Da ich mehrsprachig bin, lasse ich das auch so, weil sonst gewisse Worte in anderen Sprachen unter Umständen gleich mit weggewischt werden. "iagra" kann dann die blauen Pillchen sowohl groß- als auch kleingeschrieben abfangen, mir fällt sonst kein Wort ein, das damit auch gefiltert würde.

Beim Mailfilter zieht er dann alles, was auf ...qq.com und QQ.com geht, aus dem Verkehr, man könnte jetzt auch noch Qq.com und qQ.com reinsetzen, aber das hat vorher schon für die Spammer gereicht. mit vollen e-Mail-Adressen filtert man eben nur diese, je weniger man eingibt, umso dichter werden die Maschen des Filters. Gibt man nur ".ru" ein, sind die Russen draussen, ohne jetzt den in Moskau lebenden Hans Müller mit h-mueller@ehrlich.de auch gleich mit rauszusetzen, obwohl der vielleicht mit nicht so bösen Absichten kommt.

Wie gesagt, Recaptcha ist okay in der Sache selbst, aber eben leider von der Datenkrake... ;)

 

Share this post


Link to post
Share on other sites
vor 47 Minuten schrieb Claudiocool:

Gibt man nur ".ru" ein, sind die Russen draussen, ohne jetzt den in Moskau lebenden Hans Müller mit h-mueller@ehrlich.de auch gleich mit rauszusetzen, obwohl der vielleicht mit nicht so bösen Absichten kommt.

Womit du dann einen Mitarbeiter der Ruhr-Universität Bochum mit der E-Mail-Adresse name@abteilung.rub.de auch gleich mit rausschmeißt ... Oder - gar nicht so selten - in Deutschland lebende Russen.

Share this post


Link to post
Share on other sites

Drum kann man es doch spezifizieren. In der Regel zielen die Spammer mit ihren Scripten auf einen bestimmten Provider, und den knipst man damit ab. Ich habe die Erfahrung gemacht, dass man das nach 1-2 Tagen wieder rausnehmen kann, weil die Spammer einen dann von ihren Targets nehmen. Man könnte natürlich auch den Spammer in ein Firewall-Match laufen lassen und ihn dann mit Fail2Ban in den Urlaub schicken, allerdings muss man aufpassen, dass es dem Kunden mit Schreibfehler dann nicht auch so geht.

Letzendlich hat sich gezeigt, dass man mit dem Script die besten Effekte erzielt, ohne ganze Erdteile von der Bildfläche zu fegen. darüber hinaus ist vermutlich keiner von uns für die Spammer so interessant, als dass die ihre ganze Schaffenskraft darauf aufwenden, unsere Server wieder für ihre Spamattacks zu kapern. Ich schätze, 80% aller Seiten weltweit lassen sich ohne Probleme dafür nutzen, weil die Nutzer keine bzw. nur unzureichende Vorkehrungen getroffen haben.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More