Jump to content
Andre Engelmann

Spam über Kundenanmeldung

Recommended Posts

Hallo,

so langsam ärgern mich die Spammer auch, die sich im Kundenbereich registieren. PrestaShop 1.6 ist die letzte Version bereits installiert. Ebenso iCaptcha und die aktuelle Blacklist für die .htaccess.

Gibt es eine Möglichkeit im Namensfeld eine Prüfung einzubauen, so dass www unzulässig ist?

Viele Grüße

Andre

Share this post


Link to post
Share on other sites
vor 16 Stunden schrieb Andre Engelmann:

Gibt es eine Möglichkeit im Namensfeld eine Prüfung einzubauen, so dass www unzulässig ist?

Hallo Andre,

bitte die Spamvorgänge über das Kontaktformular (darum geht es hier im thread) nicht mit dem Spam über die Kundenanmeldungen verwechseln.

Wie man das machen kann um www zu filtern wurde z.B. hier beschrieben:

Grüsse
Whiley

Share this post


Link to post
Share on other sites

Danke, habe es inzwischen etwas anders umgesetzt, aber auch über die validate.php

 public static function isName($name)
    {
	 if (substr ($name == 'www'),0,3) {
            $errors[] = Tools::displayError('Wir hassen Spammer');
        } else {	        
	$validityPattern = Tools::cleanNonUnicodeSupport(
            '/^[^0-9!<>.,;?=+()@#"°{}_$%:¤|]*$/u'
        );
        }
        if (!count($errors)) {
            return preg_match($validityPattern, $name);
        }
        return 0;
    }

 

Share this post


Link to post
Share on other sites
Posted (edited)

😁 Bingo! Damit hebelst du den Schutzmechanismus komplett aus, wenn der Spammer eine Adresse eingibt, die ein www enthält. Und das ist eigentlich nicht zwingend erforderlich. An deiner Stelle würde ich lieber doch einem alten Hasen wie @doekia vertrauen. Ich glaube, der kann sowas besser.

Edited by Wuschel (see edit history)

Share this post


Link to post
Share on other sites

Ich habe dieses Thema vom ursprünglichen abgetrennt um Verwechslungen zwischen den Spamtechniken und den Gegenmaßnahmen zu verhindern

Share this post


Link to post
Share on other sites

I do not recommend you change the behaviour of Validate::isName()

isName is used in various classes that can/must/should accept characters such as . www http / ....

classes/Address.php:            'lastname' =>            array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
classes/Address.php:            'firstname' =>            array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
classes/stock/SupplyOrderHistory.php:            'employee_firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/SupplyOrderHistory.php:            'employee_lastname' =>    array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/StockMvt.php:            'employee_firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/StockMvt.php:            'employee_lastname' =>    array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/SupplyOrderReceiptHistory.php:            'employee_firstname' =>    array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/SupplyOrderReceiptHistory.php:            'employee_lastname' =>        array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/StockMvtWS.php:            'employee_firstname' =>    array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/stock/StockMvtWS.php:            'employee_lastname' =>        array('type' => self::TYPE_STRING, 'validate' => 'isName'),
classes/Employee.php:            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
classes/Employee.php:            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

For instance some relay-pickup modules have tendancy to put "<name of the pick point> c/o <firstname>" in the first name field, or market place import orders can also have impredictable result should you change this native function that behaved without filtering for 10 years

Share this post


Link to post
Share on other sites

Mir ist jetzt sowieso nicht klar, warum nun unbedingt das www ausgefiltert werden soll, mag ja sein, daß gerade in das Namensfeld eine www enthaltende URL eingesetzt wird, aber das kann morgen ganz anders sein (selbst wenn es eine URL ist, muß die ja kein www enthalten).

Und generell würde ich keine Fehlermeldung "Wir hassen Spammer" anzeigen, es könnte sich ja auch einmal ein echter Kunde vertippt haben oder z. B. ein Firmenname enthält wirklich www.

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

×

Important Information

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