Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: ANLEITUNG: SPAM über die Kontoerstellung verhindern

    MasterChief

    • Mitglied
    • Beiträge: 189
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #15 am: 02. Juni 2019, 10:55:04
    Hmmm scheinbar zu früh gefreut, denn seit ich die Änderung gemacht habe (s.o.) kommt wieder Spam durch. Ich kann das aber nicht nachstellen, weiß also nicht wie die das schaffen.

    Der Nachname sieht z.B. so aus: http://blogs.bhandl.xx.xx/nic-Sa
    oder so: http://www.eventnn.xx/redir.php?

    also eindeutig mit http bzw. www und in meinen Versuchen bekomme ich da eindeutig eine Fehlermeldung....

    Kann mir jemand bitte kurz erläutern wo genau in dem Code die Wörter stehen müssen, die geprüft und AUSGESCHLOSSEN sein sollen? Danke
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware

    viza

    • Mitglied
    • Beiträge: 113
    • Geschlecht:
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #16 am: 02. Juni 2019, 11:59:22
    Hallo, vielen Dank für die Tips.
    Ich habe für den Vornamen folgendes eingebaut. Mit der Änderung hinten dran zu $firstname funktioniert das dann auch wenn ein $ im Vornamen vorkommt (beispielsweise), es darf da also nicht $lastname lauten, sicher ein Flüchtigkeitsfehler aber ich wollte es hier bekanntmachen.
    [...]

    Hallo Masterchief,

    das ist kein Flüchtigkeitfehler, die Prüfung kann auf alle möglichen Inputfelder angewendet werden. Bei der vorliegenden Spam-Problematik waren die Felder "firstname" und "lastname" betroffen. Die angegebenen Code-Schnipsel sind beispielhaft.

    Welche Shopversion hast du denn im Einsatz?

    MasterChief

    • Mitglied
    • Beiträge: 189
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #17 am: 02. Juni 2019, 12:13:26
    Hm ok, php ist nicht 100% mein Ding bzw. kann ich mich nicht einarbeiten im Moment. Ich nutze noch die 1.05 SP1 Version auf php 5.3.3

    viza

    • Mitglied
    • Beiträge: 113
    • Geschlecht:
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #18 am: 02. Juni 2019, 13:16:57
    Oki doki!

    Also ich habe diese Passage in der create_account.php (auch in einem 1.05er Shop):

    Code: PHP  [Auswählen]
      if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {
        $error = true;
        $messageStack->add('create_account', ENTRY_FIRST_NAME_ERROR);
      } elseif(preg_match("!^(http|https)?(://)?(www\.)?([a-z0-9\.-]{3,})\.[a-z]{2,4}(/)?$!i",$firstname) || !preg_match("#^[a-zA-ZäöüÄÖÜßÈÉÁÀéèà'`´ \.]+$#", $firstname)) {
        $error = true;
        $messageStack->add('create_account', ENTRY_FIRST_NAME_CHECK_ERROR);
      }
     
      if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {
        $error = true;
        $messageStack->add('create_account', ENTRY_LAST_NAME_ERROR);
      } elseif(preg_match("!^(http|https)?(://)?(www\.)?([a-z0-9\.-]{3,})\.[a-z]{2,4}(/)?$!i",$lastname) || !preg_match("#^[a-zA-ZäöüÄÖÜßÈÉÁÀéèà'`´ \.]+$#", $lastname)) {
        $error = true;
        $messageStack->add('create_account', ENTRY_LAST_NAME_CHECK_ERROR);
      }

    Dann ab ich noch in der Sprachdatei (lang/german/german.php) weitere Definitionen angelegt:

    Code: PHP  [Auswählen]
    define('ENTRY_FIRST_NAME_CHECK_ERROR', 'Der eingegebene Vorname enth&auml;lt nicht zugelassene Zeichen.');
    define('ENTRY_LAST_NAME_CHECK_ERROR', 'Der eingegebene Nachname enth&auml;lt nicht zugelassene Zeichen.');
     

    Somit unterscheide ich auch in der Fehlermeldung zum Kunden zwischen zu kurzen Einträgen und unerlaubten Zeichen.

    Die Prüfungsstruktur enthält beide preg_matchs (für Webseiten und unerlaubte Zeichen). Das klappt eigentlich bisher ganz zuverlässig!

    p3e

    • Experte
    • Beiträge: 2.396
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #19 am: 02. Juni 2019, 13:37:58
    @viza: Du musst bedenken, dass die Domain auch aus zwei Buchstaben bestehen kann. Somit solltest Du statt:
    Code: PHP  [Auswählen]
    preg_match("!^(http|https)?(://)?(www\.)?([a-z0-9\.-]{3,})\.[a-z]{2,4}(/)?$!i", $lastname)
    folgendes nutzen:
    Code: PHP  [Auswählen]
    preg_match("!^(http|https)?(://)?(www\.)?([a-z0-9\.-]{2,})\.[a-z]{2,4}(/)?$!i", $lastname)

    Und wie ist das mit Umlautdomains?

    Solange der Spambot brav http bzw. https nutzt, reicht mir die simple Überprüfung auf http.

    viza

    • Mitglied
    • Beiträge: 113
    • Geschlecht:
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #20 am: 02. Juni 2019, 14:05:31
    Ja, da hast du wohl Recht. Dann ist die Angabe der "2" besser.
    Zu den Umlautdomains: Theoretisch ja. Hast du bei Spam-Angaben schon mal Umlautdomains bemerkt?
    Ansonsten kann man die Umlaute noch hinzufügen. Ich finde, in der vorliegenden Variante hat man 99% erschlagen. Welcher Spamer macht sich die Mühe und schafft sich Probleme mit Umlautdomains?

     :lol:

    MasterChief

    • Mitglied
    • Beiträge: 189
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #21 am: 02. Juni 2019, 14:57:19
    Die Spammer verpacken das http  mittlerweile mit vorangestelltem Text,  daher funktioniert die Prüfung scheinbar nicht?!  Ich konnte es heute mal nachstellen:

    Lautet der Nachname z.B. so
    malzumtest_http://Gantry.cofu.nzu

    dann kann man sich anmelden.....   schade !

    web-looks

    • Mitglied
    • Beiträge: 136
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #22 am: 02. Juni 2019, 14:58:26
    @viza: Deinen Ansatz zur Prüfung auf unerlaubte Zeichen finde ich ganz gut. Super auch mit der Ausgabe einer speziellen Fehlermeldung. :thumbs: Doch genau wie p3e denke ich, dass es etwas zu komplex ist. Für die URL reicht es vollkommen aus auf http/https zu prüfen, die ausführliche Variante zur Prüfung auf eine korrekte Webadresse nimmt nur unnötig Ressourcen in Anspruch und ist u.U. auch fehleranfällig.

    Bei der Prüfung auf unerlaubte Zeichen, würde ich das ganze Umdrehen. Also prüfen, ob NICHT erlaubte Zeichen enthalten sind, statt alle erlaubten aufzuzählen. Das verkürzt die regexp und man muss sich keine Gedanken um die Umlaute der verschiedenen Sprachen machen.

    Mein Vorschlag für die URL:

    Code: PHP  [Auswählen]
    preg_match("#http(s)?://#", $lastname)

    und für die unerlauten Zeichen:

    Code: PHP  [Auswählen]
    // check name for strange chars {} <> $ % @ # = ? ! ~ ^
    if (preg_match('/[\{\}<>\$%@#=\?!~\^]/', $lastname)) {
        // show error message
    }

    Um vollen Schutz zu gewährleisten, sollte die Prüfung auf unerlaubte Zeichen für folgende Felder eingebaut werden: firstname, lastname, street_address, city, suburb, state

    MasterChief

    • Mitglied
    • Beiträge: 189
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #23 am: 02. Juni 2019, 15:17:19
    Ich blicke langsam nicht mehr durch, kann mir jemand den fertigen Code posten nach dem Muster von  web-looks?
    Ist das für Vorname oder Nachname oder für beides usw.?

    p3e

    • Experte
    • Beiträge: 2.396
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #24 am: 02. Juni 2019, 16:33:03

    Die Spammer verpacken das http  mittlerweile mit vorangestelltem Text,  daher funktioniert die Prüfung scheinbar nicht?!  Ich konnte es heute mal nachstellen:

    Lautet der Nachname z.B. so
    malzumtest_http://Gantry.cofu.nzu

    dann kann man sich anmelden.....   schade !
    In meiner Version kann man sich damit nicht anmelden.

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #25 am: 19. Dezember 2020, 18:06:40
    Hallo,

    in einem meiner Shops wurde seit gestern immer wieder die create_account.php aufgerufen und in die Felder firstname und lastname eine URL eingetragen.
    Im Backend unter Kunden wurde dann immer einen Bild von einer Dating-Website angezeigt mit einem URL Shortener Link.

    Wurde, weil ich die hier angebotene Lösung eingebaut habe und nun die Anmeldung mit "http" in den Eingabefeldern zum Error führen, d.h. die Anmeldung so nicht mehr möglich ist.

    Aber ...
    Ich hatte auch gehofft, dass damit auch die Anmeldeversuche stoppen würden, aber dem ist leider nicht so. Alle 20-30 Sekunden wird trotzdem weiterhin die create_account.php aufgerufen.
    Die IP-Adressen wiederholen sich dabei höchst selten und verteilen sich über den ganzen Globus.

    Wie kann man das stoppen?
    Wie kann man der Software unmissverständlich mitteilen, dass die Angelegenheit nun wegen Aussichtslosigkeit abgebrochen werden kann?

    Danke

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #26 am: 19. Dezember 2020, 21:07:09
    Bei der Auswertung der logs habe ich soeben festgestellt, dass die create_account.php immer direkt aufgerufen wird., d.h. es gibt keiner referrer.

    Meine Überlegung ist nun, den Aufruf der create_account.php zu sperren, wenn die Seite aufgerufen wird, ohne vorher im Shop gewesen zu sein.
    Kann das funktionien, oder führt es ggf. zu Problemen, die ich noch nicht auf dem Schirm habe?

    p3e

    • Experte
    • Beiträge: 2.396
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #27 am: 19. Dezember 2020, 21:39:02
    Als ich die Erweiterung geschrieben habe, hatte ich zunächst genau in dem von Dir beschriebenen Fall einen 404 Error ausgegeben. Ich habe das dann schließlich doch wieder umgeändert und ressourcenschonend eine Erfolgsmeldung . Für den Server ist das keine große Last. Mach Dir da keine Sorgen. Blöder ist es wenn die merken, sollten, dass der Spam nicht ankommt.

    Mich wundert aber, dass Dir im Backend Bilder angezeigt wurden, bevor Du die Erweiterung eingebunden hast. Eigentlich sollten solche Dinge ausgefiltert werden.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.185
    • Geschlecht:
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #28 am: 19. Dezember 2020, 22:57:19
    [...]
    in einem meiner Shops wurde seit gestern immer wieder die create_account.php aufgerufen und in die Felder firstname und lastname eine URL eingetragen.
    Im Backend unter Kunden wurde dann immer einen Bild von einer Dating-Website angezeigt mit einem URL Shortener Link.
    [...]

    Welche Shopversion!? In der aktuellen Shopversion wird das raus gefiltert.

    Grüße

    Torsten

    0815

    • Viel Schreiber
    • Beiträge: 905
    Re: ANLEITUNG: SPAM über die Kontoerstellung verhindern
    Antwort #29 am: 19. Dezember 2020, 23:03:35
    Kein aktuelles Shopsystem.
    Ein Multishopsystem basierend auf einer älteren modified version.

    Unabhängig davon ...
    no referrer redirect to error.php, oder ins Nirvana ... kann man das irgendwie umsetzten?

    99,99 % aller Kunden kommen doch über den Warenkorb oder die Startseite zur create_account.php, die haben dann ja einen referrer.
    17 Antworten
    11396 Aufrufe
    21. September 2017, 12:56:33 von Modulfux
    16 Antworten
    3454 Aufrufe
    13. Januar 2022, 11:06:15 von Sergio Mueller
    0 Antworten
    2139 Aufrufe
    13. Februar 2016, 11:40:18 von bautti
    4 Antworten
    13163 Aufrufe
    26. Januar 2017, 12:18:26 von Jonas
               
    anything