26 Avr

Solution pour bloquer les spam de faux comptes clients Pretashop

843 fois
Évaluer cet élément
(1 Vote)

Depuis environ 15 jours les boutiques Prestashop (de la 1.4 à la 1.7) se font spammer via la création de faux comptes clients, si vous ne remédiez pas à ce problème rapidement cela risque de saturer votre base de données et faire dysfonctionner votre boutique.

 

Pour vérifier si vous en êtes victime de ces spams de masse, il faut vous rendre dans l'administration de votre Prestashop et aller dans la liste de vos clients. Si vous constatez que ce listing comporte des comptes avec  comme prénom une phrase en anglais et à la place du Nom une URL (www.xxxx.xxx) c'est que vous aussi vous subissez ces créations de faux comptes clients, qui a terme va vous poser des problèmes (saturation de votre base de données  -- la créations de faux comptes peut aller jusqu'à plusieurs centaines part jour -  ce qui au "mieux" ralentira votre boutique ou au pire la fera planter totalement).

 

prestashop compte client spam

 

La méthode pour bloquer la création des faux comptes clients sur Prestashop 1.5.4.1 à 1.7:

 

La première des actions est donc de supprimer manuellement tous ces faux comptes (les identifier avec leur URL à la place Nom de famille).

effacer clients prestashop 2019

La seconde et la plus importante est de corriger au plus vite cette faille de sécurité de Prestashop. Pour corriger ce problème il faut donc modifier 2 fichiers et Prestashop alors bloquera automatiquement la création de compte comprenant une URL dans le Nom ou le Prénom du client.

 

1 : Ajouter ce code dans le fichier classes/Validate.php - un faisant un override pour ne pas modifier le cœur de Prestashop

public static function isCustomerName($name)
{
if (preg_match(Tools::cleanNonUnicodeSupport('/www|http/ui'),$name)) {
return false;
}
return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name);

}

2 : Ensuite modifier le fichier dans classes/Customer.php 

Rechercher le code 

'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

 Le remplacer par 

'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),

 

Pour Prestashop 1.3 et 1.4 la méthode est pratiquement identique

 

 1 : modifier le fichier Validate.php comme ceci  :

public static function isCustomerName($name)
{
if (preg_match('/www|http/ui',$name)) { return false;
}
return preg_match('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u', $name);
}

2 : Modifier  cette partie dans le fichier Customer.php

protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isName', 'firstname' => 'isName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool', 'note' => 'isCleanHtml', 'is_guest' => 'isBool');
protected $exclude_copy_post = array('secure_key', 'active', 'date_add', 'date_upd', 'last_passwd_gen', 'newsletter_date_add', 'id_default_group', 'ip_registration_newsletter', 'note', 'is_guest', 'deleted');

en

protected $fieldsValidate = array('secure_key' => 'isMd5', 'lastname' => 'isCustomerName', 'firstname' => 'isCustomerName', 'email' => 'isEmail', 'passwd' => 'isPasswd',
'id_gender' => 'isUnsignedId', 'birthday' => 'isBirthDate', 'newsletter' => 'isBool', 'optin' => 'isBool', 'active' => 'isBool', 'note' => 'isCleanHtml', 'is_guest' => 'isBool');
protected $exclude_copy_post = array('secure_key', 'active', 'date_add', 'date_upd', 'last_passwd_gen', 'newsletter_date_add', 'id_default_group', 'ip_registration_newsletter', 'note', 'is_guest', 'deleted');

 

Ne faites ces manipulations de fichiers que si vous êtes sur de vous et savez exactement ce que vous faites,  sinon vous  riqueriez d'empêcher vos clients de se connecter ou s'inscrire sur votre boutique ce qui potentiellement vous ferait perdre de nombreuses ventes ...

 

Si vous voulez corriger cette faille de sécurité sans risques pour votre boutique, nous vous invitons à nous contacter et nous vous aiderons à corriger le problème rapidement


        Contactez nous !       

 

 Ps = merci à "Doekia" du forum Prestashop pour avoir mit cette solution à la disposition de la communauté.

 EDIT le 04/05/2019 : Depuis le 03-MAI-2019, la version 1.6.1.24 de Prestashop intègre ce patch

Jacques Dancède

Avec plusieurs années d'expériences dans la création de sites web et le graphisme , j'ai crée Webncie en 2011. J'ai voulu offrir à des clients cette expérience de la communication web en réalisant pour eux des projets de qualité.
Retrouvez Jacques Dancède sur Goolge +


Nous contacter
  • 06 20 85 12 46 ou 09 54 00 56 35
  • Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
  • Page contact

WEBNCIE

Jacques Dancède
4 impasse du Bois des lacs
31120 - ROQUETTES

Basé dans la périphérie de Toulouse, nous travaillons pour nos clients dans toute France mais aussi pour des clients à l'étranger .

Du lundi au samedi de 9h à 19h

Webmaster Toulouse

Basé à 5 min de Toulouse (Haute Garonne) , nous travaillons pour des clients de toute la France mais aussi à l'étranger.

webcnie : site internet Toulouse

Webncie
Jacques Dancede
4 impasse du Bois des Lacs
31120Roquettes - France

Tel: 06 20 85 12 46

Formulaire de contact

 

 

A savoir

Aujourd’hui pour une entreprise qui souhaite se développer, internet est devenu incontournable.

site internet pour TPE des TPE ont un site internet
site web entreprise  des PME ont un site internet

chiffre croissance e commerce en France

de croissance du e-commerce en France en 2012

faible croissance commerce en France

de croissance du commerce traditionnel en 2012

En créant son site, internet garantit une meilleure visibilité et grâce au commerce en ligne il offre la possibilité d’élargir sa clientèle.