Jump to content

[SECURITE] SPAM Compte Client : solution [1.3 -> 1.7]


Recommended Posts

Depuis le 03-MAI-2019, la version 1.6.1.24 intègre ce patch. Si rien ne vous en empêche, Mettez à jour.

 

Si vous continuez car vous ne pouvez pas mettre à jour.
Assurez vous d'utiliser un éditeur de source respectueux de l'encodage de caractère.

 

La méthode la plus simple (1.5.4.1+ à 1.7):

Un script qui fait ça tout seul https://area51.enter-solutions.com/snippets/122  (1.5.4.1+ à 1.7)
Créez une fichier patch122.php dans votre répertoire admin. Copier le contenu ci-dessus dedans.
Lancez le patch. https://votre-domaine.tld/votre-bo/patch122.php

 

 

Pour ceux qui veulent tout faire eux-même

Dans votre classes classes/Validate.php - soit dans le code original, soit dans une override, ajoutez cette fonction

    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);
    }

Modifiez ensuite dans classes/Customer.php

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

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 les 1.3 et 1.4 c'est ici:

 

Après avoir patché, Supprimez intégrale le compte client - permettez qu'il se réinscrive

 

Buy Me a Coffee at ko-fi.com

 

EDIT: Je ne suis plus ce topic. Pour toute demande d'aide le concernant, merci d'utiliser un ticket support.

 

Edited by doekia (see edit history)
  • Like 7
  • Thanks 7
Link to comment
Share on other sites

Vu ta réponse dans un autre post, j'en ai déduit que oui.

J'ai donc copié les fichiers classes/Validate.php et Customer.php dans le dossier override/classes.

J'ai modifié Validate.php

class ValidateCore
{
    const ADMIN_PASSWORD_LENGTH = 8;
    const PASSWORD_LENGTH = 5;

    public static function isIp2Long($ip)
    {
        return preg_match('#^-?[0-9]+$#', (string)$ip);
    }

    public static function isAnything()
    {
        return true;
    }
	
	/**
	* Validation des clients par doekia
	*/	
    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);
    }
	

Et Customer.php:

    public static $definition = array(
        'table' => 'customer',
        'primary' => 'id_customer',
        'fields' => array(
            'secure_key' =>                array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),			

J'ai supprimé le fichier cache/class_index.php

Puis j'ai rafraichi mon FO mais là, j'ai une page blanche...

J'ai mal fait quelque chose mais quoi ?

Merci

Link to comment
Share on other sites

Si tu n'as pas déjà d'override sur Validate, ...

<?php

class Validate extends ValidateCore
{
    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);
    }
}

Pour Customer c'est un peu plus compliqué ... plus simple direct dans le code natif

Edited by doekia (see edit history)
Link to comment
Share on other sites

même problème pour moi depuis hier soir sur plusieurs site...

et toujours la même adresse IP pour tous les faux comptes (46.22.220.10)

regarder surement la même aussi pour vous...

je vais essayer de modifier le Validate.php ...

mais je crains qu'ils ne reviennent ensuite avec faux nom et prénom à la place des urls... 

ne faudrait'il pas un captcha au formulaire de création de compte ?

ou alors interdire l’accès au serveur de cette adresse IP via Htacces ?  

 

a votre avis ?

 

Link to comment
Share on other sites

Doekia, non, je n'ai pas déjà d'override sur Validate.php

Je vais faire la modif dans le code plutôt que dans override comme tu le suggères.

L'idée du captcha sur le formulaire d'inscription  est bien mais comment le mettre en œuvre ?

 

 

edit: idem page blanche en fo après modification directe des 2 fichiers

J'ai édité define.inc.php pour y mettre define('_PS_MODE_DEV_', true) mais pas de message d'erreur...

Edited by P i l o u (see edit history)
Link to comment
Share on other sites

3 minutes ago, sebwvs said:

même problème pour moi depuis hier soir sur plusieurs site...

et toujours la même adresse IP pour tous les faux comptes (46.22.220.10)

regarder surement la même aussi pour vous...

je vais essayer de modifier le Validate.php ...

mais je crains qu'ils ne reviennent ensuite avec faux nom et prénom à la place des urls... 

ne faudrait'il pas un captcha au formulaire de création de compte ?

ou alors interdire l’accès au serveur de cette adresse IP via Htacces ?  

 

a votre avis ?

Pourquoi font-ils se genre de chose si ce n'est pour vous "vendre" des pseudo site porno?

Si ils ne peuvent plus mettre leur lien, ils changent de crèmerie.

Là le bot va se planter sur les shops protégé, d'ici a ce qu'il ait éclusé le net ça va laisser du temps

Link to comment
Share on other sites

4 minutes ago, P i l o u said:

 idem page blanche en fo après modification directe des 2 fichiers

J'ai édité define.inc.php pour y mettre define('_PS_MODE_DEV_', true) mais pas de message d'erreur... 

Tu as bien supprimé tes "overrides" ratés?

effacé le cache/class_index.php

Tu utilises quoi comme éditeur de texte?

Link to comment
Share on other sites

il y a 2 minutes, doekia a dit :

Pourquoi font-ils se genre de chose si ce n'est pour vous "vendre" des pseudo site porno?

Si ils ne peuvent plus mettre leur lien, ils changent de crèmerie.

Là le bot va se planter sur les shops protégé, d'ici a ce qu'il ait éclusé le net ça va laisser du temps

pas faux ... 😉 suite au prochaine épisode 

Link to comment
Share on other sites

Merci pour Doekia pour les modifs.
C'est dommage que ce type de protection ne soit pas native après le spam sur le formulaire de contact voilà que c'est par les inscriptions, à chaque mise à jour on doit refaire tout ça et la liste s'allonge avec le temps.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, passicool said:

Merci pour Doekia pour les modifs.
C'est dommage que ce type de protection ne soit pas native après le spam sur le formulaire de contact voilà que c'est par les inscriptions, à chaque mise à jour on doit refaire tout ça et la liste s'allonge avec le temps.

et vraiment on a de la chance d'avoir doekia et eolia #hero
je patch de suite

  • Like 1
Link to comment
Share on other sites

il y a 7 minutes, P i l o u a dit :

Tu as écrit : " soit dans le code original, soit dans une override "

J'ai essayé en override, et puis comme ça ne fonctionnait pas, j'ai modifié directement les 2 fichiers dans /classes/

 

Tu veux un accès ftp ?

vérifie si il te manque pas un    }  à la fin de ton Validate.php  ?

Link to comment
Share on other sites

5 minutes ago, P i l o u said:

Tu as écrit : " soit dans le code original, soit dans une override "

J'ai essayé en override, et puis comme ça ne fonctionnait pas, j'ai modifié directement les 2 fichiers dans /classes/

 

Tu veux un accès ftp ?

Tu dois juste ajouter à la fin du fichier classes/Validate.php avant la dernière }

     /**
     * Patch Doekia spam inscription
     *
     */
	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);
    }

Ensuite du modifie le fichier classes/Customer.php

avec les infos du post 1 de Doekia

Link to comment
Share on other sites

il y a 10 minutes, planetediscount a dit :

Tu dois juste ajouter à la fin du fichier classes/Validate.php avant la dernière }


     /**
     * Patch Doekia spam inscription
     *
     */
	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);
    }

 

En faisant ce que tu écris, j'ai un message d'erreur en fo :

Parse error: syntax error, unexpected 'function' (T_STRING), expecting variable (T_VARIABLE) in /home/www/*****/classes/Validate.php on line 1106

 

Link to comment
Share on other sites

il y a 2 minutes, P i l o u a dit :

En faisant ce que tu écris, j'ai un message d'erreur en fo :


Parse error: syntax error, unexpected 'function' (T_STRING), expecting variable (T_VARIABLE) in /home/www/*****/classes/Validate.php on line 1106

 

vérifie si il te manque pas un    }  à la fin de ton Validate.php  ?

colle

juste avant la dernier 

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);
    }
Edited by sebwvs (see edit history)
Link to comment
Share on other sites

Le forum ajoute des BOM en copiant collant

public static function<feff> isCustomerName($name)

 'lastname' =>                    array('<feff>type' => self::TYPE_ST<feff>RING, 'validate' => 'i<feff>sCustomerName', 'required' => true, 'size'<feff> => 32)<feff><feff>,

 

 

Edited by doekia (see edit history)
Link to comment
Share on other sites

J'ai écris tout le code à la main (pas de copié collé)

Parse error: syntax error, unexpected '' (T_STRING) in /home/www/******/classes/Validate.php on line 1112

Voilà ma ligne 1112 : return preg_match(Tools::cleanNonUnicodeSupport (' /^[^0-9 !\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name) ;

Link to comment
Share on other sites

D'abord un grand merci !

J'ai appliqué les modifs, on va voir ce que ça donne, c'est des vagues toutes les 1 ou 2 heures

Par contre un effet de bord :
Quand on va dans le b.o. pour supprimer les client pourris, il met un message d'erreur :
Property Customer->lastname is not valid
et impossible de supprimer.

Mais c'est un moindre mal...

Link to comment
Share on other sites

La même chose s'applique au 1.4 et 1.3

Il faut seulement adapter cette section dans 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');

La modif dans Validate.php est quasi identique:

    public static function isCustomerName($name)
    {
        if (preg_match('/www|http/ui',$name)) {
        	return false;
        }

        return preg_match('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u', $name);
    }

 

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

5 hours ago, planetediscount said:

Tu dois juste ajouter à la fin du fichier classes/Validate.php avant la dernière }


     /**
     * Patch Doekia spam inscription
     *
     */
	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);
    }

Ensuite du modifie le fichier classes/Customer.php

avec les infos du post 1 de Doekia

Bonjour,

 

Je suis sur 1.6.

J'ai tout fait comme indiqué:

J'ai modifié les deux fichiers dans classes/. En faisant bien attention aux }.

Page blanche en actualisant mon FO.

Alors j'ai copié les fichiers dans override/classes en ajoutant le entends CustomerCore et ValidateCore.

J'ai bien supprimé le fichier cache/class_index.php

Toujours page blanche en actualisant mon FO.

 

Une idée du souci ?

 

Edited by Ritaiko (see edit history)
Link to comment
Share on other sites

A partir de la version 1.5, comme toujours en cas d'erreur 500 et pour en savoir plus, il faut modifier cette ligne au début du fichier config/defines.inc.php sur votre ftp :

define('_PS_MODE_DEV_', false);

en remplaçant false par true, ce qui donne:

define('_PS_MODE_DEV_', true);

Et donnez-nous l'erreur après avoir enregistré le fichier et rafraîchi la page

Link to comment
Share on other sites

Comme expliqué 5 post plus haut vous avez sûrment des caractères invalide a cause du copié/collé.

Juste pour être sur, parce que certain se mélangent avec des overrides si vous optez pour cette approche ça donne:

override/classes/Customer.php

<?php

class Customer extends CustomerCore
{
    /**
     * @see ObjectModel::$definition
     */
    public static $definition = array(
        'table' => 'customer',
        'primary' => 'id_customer',
        'fields' => array(
            'secure_key' =>                array('type' => self::TYPE_STRING, 'validate' => 'isMd5', 'copy_post' => false),
            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
            'email' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'required' => true, 'size' => 128),
            'passwd' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isPasswd', 'required' => true, 'size' => 32),
            'last_passwd_gen' =>            array('type' => self::TYPE_STRING, 'copy_post' => false),
            'id_gender' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
            'birthday' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isBirthDate'),
            'newsletter' =>                array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'newsletter_date_add' =>        array('type' => self::TYPE_DATE,'copy_post' => false),
            'ip_registration_newsletter' =>    array('type' => self::TYPE_STRING, 'copy_post' => false),
            'optin' =>                        array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
            'website' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isUrl'),
            'company' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isGenericName'),
            'siret' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isSiret'),
            'ape' =>                        array('type' => self::TYPE_STRING, 'validate' => 'isApe'),
            'outstanding_allow_amount' =>    array('type' => self::TYPE_FLOAT, 'validate' => 'isFloat', 'copy_post' => false),
            'show_public_prices' =>            array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'id_risk' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
            'max_payment_days' =>            array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt', 'copy_post' => false),
            'active' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'deleted' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'note' =>                        array('type' => self::TYPE_HTML, 'validate' => 'isCleanHtml', 'size' => 65000, 'copy_post' => false),
            'is_guest' =>                    array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'copy_post' => false),
            'id_shop' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'id_shop_group' =>                array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'id_default_group' =>            array('type' => self::TYPE_INT, 'copy_post' => false),
            'id_lang' =>                    array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'copy_post' => false),
            'date_add' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
            'date_upd' =>                    array('type' => self::TYPE_DATE, 'validate' => 'isDate', 'copy_post' => false),
        ),
    );

}

override/classes/Validate.php

<?php

class Validate extends ValidateCore
{
    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);
    }
}

Assurez vous d'utiliser un éditeur source digne de ce nom (notepad++ en mode ansi, vi avec :se list, ...)

Supprimez cache/class_index.php

 

 

Link to comment
Share on other sites

Coucou,

bon, je me penche dessus avant l'apéro et là petite erreur :

 Parse error: syntax error, unexpected 'return' (T_RETURN) in /home/www/override/classes/Validate.php on line 24

et la ligne 24 c'est :

return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name);

pourtant j'ais pas d'erreur apparente sur le code

class Validate extends ValidateCore
{
    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);
    }
}

Corrigé avec ce code ?????

class Validate extends ValidateCore
{
    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);
    }
}

 

Edited by Mediacom87 (see edit history)
Link to comment
Share on other sites

Moi je copie direct depuis vi :D

J'ai plus l'impression que c'est des parasites dû à la colorisation de syntaxe. En tout cas si quelqu'un (révons) de la team pouvait regarder ce problème sur le copier coller du code ça serait bien car si on ne peux plus partager de code sans s'exposer à l'ire de ceux auquel  est destiné ce code, j'arrête immédiatement.

Link to comment
Share on other sites

Hello 

Merci pour les réponses, 

j'ai passé la journée à me tourmenter dessus ; j'ai un pote qui vient de passer on vient de capter à quoi servait ces inscriptions toutes pourries et j'ai installé le captcha sur l'inscription inutile. Je savais plus par quel moyen m'en sortir, quand je continue encore et toujours mes recherches sur google et bingo, j'arrive ici, donc MERCI 

Pour en revenir a nos moutons, je suis relativement une bille pour ce genre de modifs qui me paraisse un peu complexe... J'aimerai éviter une page blanche en FO et une crise cardiaque en BO :-)

Donc je suis un peu perdu sur l'override ou autre, de mémoire mon site ne l'utilise plus.. Je pense modifier les fichiers coeurs, 

Est ce que c'est possible d'avoir la solution pas à pas guidée exacte pour que je puisse essayer. Je suis assez effrayé de tout ca car mes sites c'est mes bébés que je controle pas suffisament bien donc merci à vous si c'est possible de réécrire la solution pour les débutants comme je suis :) (enfin pas expert)

Link to comment
Share on other sites

7 hours ago, doekia said:

Heu le patch sur area51 est exactement ça

merci Doekia.

donc je prend le patch sur area51. Patch.php

je l’upload à la racine de mon site ou de mes sites ? Car plusieurs sont touchés . 

Et ensuite je lance www.monsite.fr/patch.php

 

Link to comment
Share on other sites

Chez moi le patch n'a pas créé les fichiers (il est noté d'utiliser le patch dans le dossier admin), j'ai les messages de création des override mais les fichiers n'y sont pas. Du coup j'ai tenté l'override en manuel mais l'override de Validate me génère une page blanche, du coup  j'ai modifié les fichiers originaux et ça marche.

Link to comment
Share on other sites

5 minutes ago, Fab20620 said:

Chez moi le patch n'a pas créé les fichiers (il est noté d'utiliser le patch dans le dossier admin), j'ai les messages de création des override mais les fichiers n'y sont pas. Du coup j'ai tenté l'override en manuel mais l'override de Validate me génère une page blanche, du coup  j'ai modifié les fichiers originaux et ça marche.

Salut Fab20620

Est ce que tu peux m'envoyer le code stp que tu as insérer dans les fichiers et qui ne crée pas de probleme? 

Je pense faire pareil, implémenter directement dans le coeur plutot que l'override, 

merci 

Link to comment
Share on other sites

23 hours ago, doekia said:

Dans votre classes classes/Validate.php - soit dans le code original, soit dans une override, ajoutez cette fonction


    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);
    }

Modifiez ensuite dans classes/Customer.php


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

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),

 

Un script

https://area51.enter-solutions.com/snippets/122

 

Buy Me a Coffee at ko-fi.com

c'est quoi le probleme dans ce cas la, les Boom dont vous parlez ? 

merci

Link to comment
Share on other sites

2 minutes ago, artistik said:

Cool Merci FAb20620

 

Je vais tenter le coup d'ici quelques heures... 

 

En attendant, j'essaie de voir si je bloque l'ip mentionné dans le forum si ca va deja faire son effet : 46.22.220.10

 

Ce matin j'ai l'ip 46.22.220.49, c'est pour ça que j'ai appliqué ces patchs, si on va se taper une tonne d'IP différentes ça va être chaud 🙂

 

Link to comment
Share on other sites

C'est pas pour rien qu'on a écrit ces patchs...

Il vaut mieux raisonner à long terme et pouvoir s'occuper d'autre chose plutôt que de passer son temps à surveiller et bloquer des IP. Mais chacun fait comme il veut

Link to comment
Share on other sites

5 minutes ago, Eolia said:

C'est pas pour rien qu'on a écrit ces patchs...

Il vaut mieux raisonner à long terme et pouvoir s'occuper d'autre chose plutôt que de passer son temps à surveiller et bloquer des IP. Mais chacun fait comme il veut

Oui tu as mille fois raison. Merci pour cette solution et pour la réactivité 🙂

Link to comment
Share on other sites

il y a 3 minutes, SOURIRE DES SAVEURS a dit :

Bonjour,

j'ai pour ma part bloqué l'adresse IP 46.22.220.10 depuis mon cpanel

Pourquoi préférez-vous coder au risque d'erreur ? puisque vous savez depuis quelle adresse IP proviennent ces fausses inscriptions ?

Merci

Parce que les IP changent^^

Les seules erreurs que cela peut engendrer ne seraient dues qu'à une mauvaise installation du code.

Link to comment
Share on other sites

1 hour ago, artistik said:

merci Doekia.

donc je prend le patch sur area51. Patch.php

je l’upload à la racine de mon site ou de mes sites ? Car plusieurs sont touchés . 

Et ensuite je lance www.monsite.fr/patch.php

 

Presque, le fichier doit être déposé dans ton répertoire admin

Link to comment
Share on other sites

L'avant-dernière attaque changeait d'IP chaque seconde par rafales de 10 connexions et en passant par des VPN alors vos blocages d'IP me font penser à une protection genre couvercle de poubelle contre attaque nucléaire.

Mais je me répète: vous faites comme vous voulez si notre solution ne vous convient pas^^

Link to comment
Share on other sites

Just now, SOURIRE DES SAVEURS said:

merci,

si on fait des mises à jours de prestashop, le code modifié restera ou pas ?

un captcha ne sert à rien dans ces cas là ?

n'y a t'il pas un module qui appliquerait ce correctif ?

merci

les override persistent entre les versions donc ce sera toujours là et opérationnel

Link to comment
Share on other sites

Il y a 13 heures, Eolia a dit :

pour faire les modifs, je dois remplacer les 2 fichiers validate et customer et c'est tout ? merci, mais j'ai toujours peur de faire une bêtise.

Link to comment
Share on other sites

1 minute ago, doekia said:

Presque, le fichier doit être déposé dans ton répertoire admin

yes Merci Doekia ! 

Bon ca redirige sur quoi du quoi un virus ou du porno? 

On voulait regarder hier avec mon pote en cliquant sur le lien via un navigateur sécurisé pour éviter de se faire infecter... 

Link to comment
Share on other sites

Alors pourquoi parler des IP ?

Ce post concerne un patch de sécurité. Soit vous modifiez les 2 classes existantes (si vous n'envisagez pas de mettre à jour votre version), soit vous installez les 2 overrides.

Il n'y a rien de plus à dire/faire.

Link to comment
Share on other sites

il y a 2 minutes, Eolia a dit :

Alors pourquoi parler des IP ?

Ce post concerne un patch de sécurité. Soit vous modifiez les 2 classes existantes (si vous n'envisagez pas de mettre à jour votre version), soit vous installez les 2 overrides.

Il n'y a rien de plus à dire/faire.

vous croyez peut être que nous comprenons tout aussi simplement que vous le comprenez, mais ce n'est pas le cas.

Si je suis sur le forum, c'est que j'ai besoin de votre aide, car je n'ai pas votre savoir.

J'ai téléchargé les fichiers Validate.php et Customer.php, mais je ne sais pas ce que je dois en faire ?

Remplacer les miens par cela ou modifier les miens à partir de ces fichiers.

Je ne comprends pas non plus si j'ai autre chose à faire.

Je ne sais pas si je dois tout simplement déposé ces 2 fichiers dans un autre dossier ? le override ?

image.png.dcfc9915e05a5ccdc655bcd64c497f5b.png

merci de votre aide

Link to comment
Share on other sites

Alors pour ceux qui s'en sentent capables et veulent le faire à la main:

Ouvrez le répertoire /override/classes/:

- Si aucun des 2 fichiers n'est présent (Validate.php et Customer.php) mettez-les dans ce répertoire puis effacez le fichier à la racine du site: /cache/class_index.php et c'est tout.

- Si l'un des 2 ou les 2 sont présents il faut les ouvrir pour voir quelles fonctions ont déjà été modifiées ou ajoutées:

     - Si aucune n'est concernée, il faut ajouter les blocs comme expliqué au post n° 1 et c'est tout

     - Si l'une des fonctions existe déjà, il faut merger le code (faire un mix intelligent du code existant et de celui à ajouter). Là c'est plus complexe et si vous n'y connaissez rien il est préférable de demander l'aide d'un professionnel.

Edited by Eolia (see edit history)
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

11 minutes ago, SOURIRE DES SAVEURS said:

vous croyez peut être que nous comprenons tout aussi simplement que vous le comprenez, mais ce n'est pas le cas.

Si je suis sur le forum, c'est que j'ai besoin de votre aide, car je n'ai pas votre savoir.

J'ai téléchargé les fichiers Validate.php et Customer.php, mais je ne sais pas ce que je dois en faire ?

Remplacer les miens par cela ou modifier les miens à partir de ces fichiers.

Je ne comprends pas non plus si j'ai autre chose à faire.

Je ne sais pas si je dois tout simplement déposé ces 2 fichiers dans un autre dossier ? le override ?

image.png.dcfc9915e05a5ccdc655bcd64c497f5b.png

merci de votre aide

Franchement quand on ne sait pas, on commence par lire avec toute l'attention nécessaire le topic.

Mon post initial répond à toutes ces questions. Au lieu de te précipiter prend le temps de le lire, tu verra ça ira mieux

Link to comment
Share on other sites

il y a 5 minutes, doekia a dit :

Franchement quand on ne sait pas, on commence par lire avec toute l'attention nécessaire le topic.

Mon post initial répond à toutes ces questions. Au lieu de te précipiter prend le temps de le lire, tu verra ça ira mieux

 

il y a 7 minutes, Eolia a dit :

Alors pour ceux qui s'en sentent capables et veulent le faire à la main:

Ouvrez le répertoire /override/classes:

- Si aucun des 2 fichiers n'est présent (Validate.php et Customer.php) mettez-les dans ce répertoire puis effacez le fichier /cache/class_index.php et c'est tout.

- Si l'un des 2 ou les 2 sont présents il faut les ouvrir pour voir quelles fonctions ont déjà été modifiées ou ajoutées:

     - Si aucune n'est concernée, il faut ajouter les blocs comme expliqué au post n° 1 et c'est tout

     - Si l'une des fonctions existe déjà, il faut merger le code (faire un mix intelligent du code existant et de celui à ajouter). Là c'est plus complexe et si vous n'y connaissez rien il est préférable de demander l'aide d'un professionnel.

Merci, je me mélanger car en lisant, il était écrit de le mettre dans le dossier admin, mais il n'y a pas de override dans le dossier admin.

Je n'ai pas de fichiers validate et customer dans override/classes , du coup, je vais mettre les fichiers que vous avez partagé.

Mon dossier override/cache ne contient aucun fichier, peut être que c'est en mettant les fichiers validat et customer dans override/classes qu'il va se créer, je le supprimerai alors.

je vous tiens informé

Merci

Link to comment
Share on other sites

39 minutes ago, SOURIRE DES SAVEURS said:

pour faire les modifs, je dois remplacer les 2 fichiers validate et customer et c'est tout ? merci, mais j'ai toujours peur de faire une bêtise.

Le mieux pour éviter de perdre les modifications à la prochaine mise à jour de version, c'est d'utiliser les codes proposés pour l'override :

14 hours ago, Eolia said:

Ces codes sont à placer dans le repertoire /override/classes/ en prenant soin de vérifier qu'ils n'y sont pas déjà.

Une fois ces modifications effectuées, il faut aller dans le repertoire /cache (celui de la racine du site) et supprimer le fichier class_index.php pour que les modifications soient prises en compte.

Link to comment
Share on other sites

Je viens d'ajouter les 2 fichiers. Mon site fonctionne en back et front office.

Comme je n'avais pas le fichier /cache/class_index.php dans le dossier override, je n'ai rien eu a supprimer, ou alors je n'ai pas compris et c'est ailleurs qu'il faut que je cherche ce fichier.

Je vous remercie de votre aide et de votre patience Eolia et Doekia.

Link to comment
Share on other sites

5 minutes ago, SOURIRE DES SAVEURS said:

 

Mon dossier override/cache ne contient aucun fichier, peut être que c'est en mettant les fichiers validat et customer dans override/classes qu'il va se créer, je le supprimerai alors.

le fichier class_index.php n'est pas dans override/cache mais dans le repertoire cache à la racine du site.

Link to comment
Share on other sites

il y a 2 minutes, Fab20620 a dit :

Le mieux pour éviter de perdre les modifications à la prochaine mise à jour de version, c'est d'utiliser les codes proposés pour l'override :

Ces codes sont à placer dans le repertoire /override/classes/ en prenant soin de vérifier qu'ils n'y sont pas déjà.

Une fois ces modifications effectuées, il faut aller dans le repertoire /cache (celui de la racine du site) et supprimer le fichier class_index.php pour que les modifications soient prises en compte.

Merci, je n'avais pas compris pour le fichier class_index.php , j'y vais de ce pas.

Merci beaucoup

Link to comment
Share on other sites

Utilisez, ce patch, http://area51.enter-solutions.com/snippets/122 que j'ai écrit devant le nombre incalculable de médiocrité ambiante. Je n'arrive pas a comprendre que vous décidiez de vous occuper vous même de vos shop sans vouloir acquérir le minimum de compétence. C'est de l'inconscience pure.

Pour moi le sujet est clos, je ne répondrai plus

  • Like 1
Link to comment
Share on other sites

9 minutes ago, SOURIRE DES SAVEURS said:

j'ai fait tout ce que j'ai compris, mais voilà :

image.thumb.png.8b1edcbffd8f2efed56e4c42833cd281.png

ça continue

Les fichiers vont dans override/classes/ pas dans override, si j'en crois une autre publication vous ne les avez peut être pas mis au bon endroit (si c'est ça, il faudra encore penser à virer class_index.php après les avoir mis au bon endroit)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...