Jump to content

Recommended Posts

à l’instant, SOURIRE DES SAVEURS a dit :

image.png.eb1c1194e8ff20560e667c77af19717e.png

Sans déconner ?

Donc vous installez une override mais vous avez désactivé cette fonctionnalité ???

Share this post


Link to post
Share on other sites
13 minutes ago, doekia said:

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

Pour moi le patch n'a pas créé les fichiers. J'ai dû le faire manuellement (peut être une question de droits au niveau des dossiers)

Share this post


Link to post
Share on other sites

Et le cache serveur ne sert à rien à part faire ramer votre shop sur un serveur mutualisé...

Remettez-le sur "système de fichier" et passez le tout sur NON

Share this post


Link to post
Share on other sites
1 minute ago, Eolia said:

Sans déconner ?

Donc vous installez une override mais vous avez désactivé cette fonctionnalité ???

Je vous trouve durs les gars, il suffit de lui répondre : "Désactiver toutes les surcharges" doit être sur non, car sinon ça désactive les override

Share this post


Link to post
Share on other sites
il y a 2 minutes, Fab20620 a dit :

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)

Merci,

je les ai bien mis dans override/classes

image.png.f53f59512a62a2a0b3ff91c391b63b16.png

et j'ai bien ensuite supprimer le fichier dans le dossier cache à la racine.

Il semblerai, peut être, que ça vienne de mon paramétrage en back office dont j'ai joint les copies ci dessus

Share this post


Link to post
Share on other sites

Ok...

Donc on réagit dès les premières attaques

On propose 2 solutions + une troisième automatique

Les utilisateurs ratent leurs copier/coller

Les utilisateurs ne lisent pas les posts correctement

Les utilisateurs ne connaissent pas leur BO

Il y a une limite à l'aide aussi hein, il faut quand même se prendre en main un minimum.

Perso, j'abandonne également ce post, Joyeuses Pâques à tous et désolé d'y être intervenu.

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, SOURIRE DES SAVEURS said:

Il semblerai, peut être, que ça vienne de mon paramétrage en back office dont j'ai joint les copies ci dessus

Oui, il faut activer les surcharges (et vider le cache)

Share this post


Link to post
Share on other sites
3 minutes ago, Fab20620 said:

Je vous trouve durs les gars, il suffit de lui répondre : "Désactiver toutes les surcharges" doit être sur non, car sinon ça désactive les override

Sauf que si il/elle l'a positionné sur désactiver parce qu'elle a un loup dans un module ça va lui péter à la figure. Compte tenu de ce que je lis, j'ose même pas regarder sont chateau de carte branlante

Share this post


Link to post
Share on other sites
1 minute ago, Eolia said:

Ok...

Donc on réagit dès les premières attaques

On propose 2 solutions + une troisième automatique

Les utilisateurs ratent leurs copier/coller

Les utilisateurs ne lisent pas les posts correctement

Les utilisateurs ne connaissent pas leur BO

Il y a une limite à l'aide aussi hein, il faut quand même se prendre en main un minimum.

Perso, j'abandonne également ce post, Joyeuses Pâques à tous et désolé d'y être intervenu.

pareil

Share this post


Link to post
Share on other sites
Just now, Eolia said:

Ok...

Donc on réagit dès les premières attaques

On propose 2 solutions + une troisième automatique

Les utilisateurs ratent leurs copier/coller

Les utilisateurs ne lisent pas les posts correctement

Les utilisateurs ne connaissent pas leur BO

Il y a une limite à l'aide aussi hein, il faut quand même se prendre en main un minimum.

Perso, j'abandonne également ce post, Joyeuses Pâques à tous et désolé d'y être intervenu.

Je comprends que ça puisse vous saouler, mais comme vous le savez, quand on parle code/technique c'est du chinois pour une majorité, ce n'est pas pour autant qu'il faut les traiter de médiocres, ils sont peut être (surement même) plus forts que nous dans le domaine qu'ils maitrisent. Aider les autres c'est bien, et je pense que les remerciements ne manquent pas. Merci encore pour votre aide, au nom de tous ceux que vous avez aidé sur ce coup là (et sur bon nombre d'autres problèmes). Je ne voulais pas te froisser en tous cas 🙂

Share this post


Link to post
Share on other sites

ils ont raisons !! moi même je n'avais pas lu correctement le post du début et j'ai poser une question débile !!

Share this post


Link to post
Share on other sites
il y a 10 minutes, Eolia a dit :

Ok...

Donc on réagit dès les premières attaques

On propose 2 solutions + une troisième automatique

Les utilisateurs ratent leurs copier/coller

Les utilisateurs ne lisent pas les posts correctement

Les utilisateurs ne connaissent pas leur BO

Il y a une limite à l'aide aussi hein, il faut quand même se prendre en main un minimum.

Perso, j'abandonne également ce post, Joyeuses Pâques à tous et désolé d'y être intervenu.

Eolia et Doekia, ainsi que Fab20620,

même s'ils vous semblent que l'on est des assistés, car en effet nous n'avons pas votre expérience,

même s'ils vous semblent qu'on ne comprends rien, parce que le code nous ai inconnu,

et même s'ils vous semblent que vous ne nous servez à rien, parce qu'on n'est pas informaticien, et qu'on est plus long à comprendre

Je vous remercie, parce que, je pense, aujourd'hui, avoir compris un truc de plus sur prestashop,

et surtout j'ai compris que vous êtes formidables et qu'on a besoin de vous.

Merci et Joyeuse fêtes de Pâques.

Share this post


Link to post
Share on other sites

avez vous remarqué une incidence sur les inscriptions des vrais clients en laissant l'attaque en place? 

de mon coté très calme, mais ca doit etre paques mais bon  les correlations sont vites faits ! 

 

Merci à Eolia et Doekia pour la solution, au top! 

Share this post


Link to post
Share on other sites

Merci pour ce fix, j'ai eu une 50ène de compte crée.

Dans mon cas aucun problème de BOM ou autres caractères spéciaux.

Pour les personnes avec un grand nombre d'inscriptions, il faut penser à virer les comptes de vos mailings lists avant de supprimer les comptes.

Share this post


Link to post
Share on other sites

Salut a tous,

Et merci a ce qui cherche et apporte leur aide.
Pour moi ça n'a pas marché, c'est même la cata. J'ai fait en manuel comme indiqué  Doekia au début. Pas de succès, sauf une page blanche. J'ai remis les fichiers d'origine et passé par le patch : http://area51.enter-solutions.com/snippets/122 de Doékia merci a lui.
J'ai eu le résultat : La classe Validate est déjà remplacée. Vous devriez traiter manuellement. La classe Client est déjà remplacée. Vous devriez traiter manuellement. FIN
Je sais pas comment lire ça. J'ai plut de page blanche, ça a l'air de marcher. Sauf que maintenant quand j'arrive sur une page d'article j'ai : capture-1.
Et ça me donne l'erreur Capture-2. Ce qui évoque rien pour moi. Mais cela me rappel des mauvais souvenir.
Les onglets ce chargent pas et les boutons du bas tournent indéfiniment.
Ce qui veut dire que je peut plut travailler sur les produits.
J'ai remis les fichiers d’origine c'est pareil et recommencé depuis le début c'est pareil aussi. j'ai la même erreur.
Ci quelqu'un peut m'aider, je suis preneur.
Merci

 

Capture-1.JPG

Capture-2.JPG

Share this post


Link to post
Share on other sites

Ces notices n'ont rien à voir avec le patch, c'est juste que vous avez activé le mode debug.

7 minutes ago, Dominique said:

La classe Validate est déjà remplacée. Vous devriez traiter manuellement. La classe Client est déjà remplacée. Vous devriez traiter manuellement.

Ce message veut dire que vous avez déjà des overrides.

Share this post


Link to post
Share on other sites
Il y a 5 heures, Eolia a dit :

Sans déconner ?

Donc vous installez une override mais vous avez désactivé cette fonctionnalité ???

Bonjour,

me revoilà. En fait, il y avait bien une raison à la désactivation des surcharges. J'avais une page blanche lorsque on mettez un produit dans le panier. C'est en faisant un essai que je m'en suis apperçue. Une idée ? Merci

Share this post


Link to post
Share on other sites

bonjour Okom3pom,
Oui j'avais cru comprendre le message, mais j'avais retiré remis les fichiers originaux et j'avais pas le mode débug quand 'ai patché. C'est la fin du patchage (j'invente des mots) que ces lignes sont apparut en haut de page.
Mais mon souci maintenant et de loin l'erreur serveur. je peur rien faire dans les pages produits. Même pas en ajouter.

Share this post


Link to post
Share on other sites
Posted (edited)

C'est erreurs sont apparues car vous avez vidé le cache

Pour le ridnjael:

https://shop.devcustom.net/gen.php

Pour le reste, soit passez en 1.6.1.23 soit revenez en php 5.6, vous avez des fichiers incompatibles avec cette version.

Edited by Eolia (see edit history)

Share this post


Link to post
Share on other sites

Bien,

Je vois que j'ai une page blanche pour modifier ou créer une catégorie.
Erreur
Warning: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' (this will throw an Error in a future version of PHP) in /home/dominique/public_html/maison_et_piscine/classes/Rijndael.php on line 124

Parse error: syntax error, unexpected 'public' (T_PUBLIC), expecting end of file in /home/dominique/public_html/maison_et_piscine/classes/Uploader.php on line 300

Je crois que j'aurais du me contenter de garder les spams.

Share this post


Link to post
Share on other sites

Bonsoir Eolia,
Pour PHP je suis en 5.2.16
Pour Prestashop, quand j'ai voulu mettre à jour, j'ai foutu mon site en rideau. J'ai pas voulue re essayé.
J-utilisé pas blowfish. J'ai modifié settings.inc mais des clés était déjà dedans. ça n'a rien fait.
Pour Mcrypt je vais voir. Mais sa marché bien avant.

Share this post


Link to post
Share on other sites

Ok passez en 5.6 déjà.

Si les clés étaient déjà là, il ne fallait pas les remplacer ou tous les mots de passe clients vont être perdus...

Pouvez-vous nous copier ici le contenu du fichier /home/dominique/public_html/maison_et_piscine/classes/Uploader.php ?

Share this post


Link to post
Share on other sites

Pardon pour PHP c'est 7.2.16 Je vais revenir plus bas Chez O2Switck j'au vu pour le faire. Pour Mcrypt, je trouve rien.

 

Share this post


Link to post
Share on other sites

Pour Eolia
 Les posts se croisent on suis plut. Si e passe en 5.6 maintenant ça vas pas mettre le boxon ? Voila le contenu du fichier

<?php
/*
* 2007-2017 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2017 PrestaShop SA
*  @license    http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

class UploaderCore
{
    const DEFAULT_MAX_SIZE = 10485760;

    private $_check_file_size;
    private $_accept_types;
    private $_files;
    private $_max_size;
    private $_name;
    private $_save_path;

    public function __construct($name = null)
    {
        $this->setName($name);
        $this->setCheckFileSize(true);
        $this->files = array();
    }

    public function setAcceptTypes($value)
    {
        if (is_array($value) && count($value)) {
            $value = array_map(array('Tools', 'strtolower'), $value);
        }
        $this->_accept_types = $value;
        return $this;
    }

    public function getAcceptTypes()
    {
        return $this->_accept_types;
    }

    public function setCheckFileSize($value)
    {
        $this->_check_file_size = $value;
        return $this;
    }

    public function getFilePath($file_name = null)
    {
        if (!isset($file_name)) {
            return tempnam($this->getSavePath(), $this->getUniqueFileName());
        }

        return $this->getSavePath().$file_name;
    }

    public function getFiles()
    {
        if (!isset($this->_files)) {
            $this->_files = array();
        }

        return $this->_files;
    }

    public function setMaxSize($value)
    {
        $this->_max_size = intval($value);
        return $this;
    }

    public function getMaxSize()
    {
        if (!isset($this->_max_size) || empty($this->_max_size)) {
            $this->setMaxSize(self::DEFAULT_MAX_SIZE);
        }

        return $this->_max_size;
    }

    public function setName($value)
    {
        $this->_name = $value;
        return $this;
    }

    public function getName()
    {
        return $this->_name;
    }

    public function setSavePath($value)
    {
        $this->_save_path = $value;
        return $this;
    }

    public function getPostMaxSizeBytes()
    {
        $post_max_size = ini_get('post_max_size');
        $bytes         = (int)trim($post_max_size);
        $last          = strtolower($post_max_size[strlen($post_max_size) - 1]);

        switch ($last) {
            case 'g': $bytes *= 1024;
            case 'm': $bytes *= 1024;
            case 'k': $bytes *= 1024;
        }

        if ($bytes == '') {
            $bytes = null;
        }
        return $bytes;
    }

    public function getSavePath()
    {
        if (!isset($this->_save_path)) {
            $this->setSavePath(_PS_UPLOAD_DIR_);
        }

        return $this->_normalizeDirectory($this->_save_path);
    }

    public function getUniqueFileName($prefix = 'PS')
    {
        return uniqid($prefix, true);
    }

    public function checkFileSize()
    {
        return (isset($this->_check_file_size) && $this->_check_file_size);
    }

    public function process($dest = null)
    {
        $upload = isset($_FILES[$this->getName()]) ? $_FILES[$this->getName()] : null;

        if ($upload && is_array($upload['tmp_name'])) {
            $tmp = array();
            foreach ($upload['tmp_name'] as $index => $value) {
                $tmp[$index] = array(
                    'tmp_name' => $upload['tmp_name'][$index],
                    'name'     => $upload['name'][$index],
                    'size'     => $upload['size'][$index],
                    'type'     => $upload['type'][$index],
                    'error'    => $upload['error'][$index]
                );

                $this->files[] = $this->upload($tmp[$index], $dest);
            }
        } elseif ($upload) {
            $this->files[] = $this->upload($upload, $dest);
        }

        return $this->files;
    }

    public function upload($file, $dest = null)
    {
        if ($this->validate($file)) {
            if (isset($dest) && is_dir($dest)) {
                $file_path = $dest;
            } else {
                $file_path = $this->getFilePath(isset($dest) ? $dest : $file['name']);
            }

            if ($file['tmp_name'] && is_uploaded_file($file['tmp_name'])) {
                move_uploaded_file($file['tmp_name'], $file_path);
            } else {
                // Non-multipart uploads (PUT method support)
                file_put_contents($file_path, fopen('php://input', 'r'));
            }

            $file_size = $this->_getFileSize($file_path, true);

            if ($file_size === $file['size']) {
                $file['save_path'] = $file_path;
            } else {
                $file['size'] = $file_size;
                unlink($file_path);
                $file['error'] = Tools::displayError('Server file size is different from local file size');
            }
        }

        return $file;
    }

    protected function checkUploadError($error_code)
    {
        $error = 0;
        switch ($error_code) {
            case 1:
                $error = sprintf(Tools::displayError('The uploaded file exceeds %s'), ini_get('upload_max_filesize'));
                break;
            case 2:
                $error = sprintf(Tools::displayError('The uploaded file exceeds %s'), ini_get('post_max_size'));
                break;
            case 3:
                $error = Tools::displayError('The uploaded file was only partially uploaded');
                break;
            case 4:
                $error = Tools::displayError('No file was uploaded');
                break;
            case 6:
                $error = Tools::displayError('Missing temporary folder');
                break;
            case 7:
                $error = Tools::displayError('Failed to write file to disk');
                break;
            case 8:
                $error = Tools::displayError('A PHP extension stopped the file upload');
                break;
            default:
                break;
        }
        return $error;
    }

    protected function validate(&$file)
    {
        $file['error'] = $this->checkUploadError($file['error']);

        if ($file['error']) {
            return false;
        }

        $post_max_size = $this->getPostMaxSizeBytes();

        if ($post_max_size && ($this->_getServerVars('CONTENT_LENGTH') > $post_max_size)) {
            $file['error'] = Tools::displayError('The uploaded file exceeds the post_max_size directive in php.ini');
            return false;
        }

        if (preg_match('/\%00/', $file['name'])) {
            $file['error'] = Tools::displayError('Invalid file name');
            return false;
        }

        $types = $this->getAcceptTypes();

        //TODO check mime type.
        if (isset($types) && !in_array(Tools::strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)), $types)) {
            $file['error'] = Tools::displayError('Filetype not allowed');
            return false;
        }

        if ($this->checkFileSize() && $file['size'] > $this->getMaxSize()) {
            $file['error'] = sprintf(Tools::displayError('File (size : %1s) is too big (max : %2s)'), $file['size'], $this->getMaxSize());
            return false;
        }

        return true;
    }

    protected function _getFileSize($file_path, $clear_stat_cache = false)
    {
        if ($clear_stat_cache) {
            clearstatcache(true, $file_path);
        }

        return filesize($file_path);
    }

    protected function _getServerVars($var)
    {
        return (isset($_SERVER[$var]) ? $_SERVER[$var] : '');
    }

    protected function _normalizeDirectory($directory)
    {
        $last = $directory[strlen($directory) - 1];

        if (in_array($last, array('/', '\\'))) {
            $directory[strlen($directory) - 1] = DIRECTORY_SEPARATOR;
            return $directory;
        }

        $directory .= DIRECTORY_SEPARATOR;
        return $directory;
    }
}
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);
    }

 

Share this post


Link to post
Share on other sites

AUCUN PRESTASHOP 1.6 NE FONCTIONNE EN PHP 7.2 non d'une pipe !!!

Pour Mcrypt il n'y a rien à faire si vous restez en PHP 5.6

Et j'attends toujours votre fichier...

Share this post


Link to post
Share on other sites

Et en cliquant sur la version 5.6, il me prose des cases a cocher pour Mycript, il est déjà coché. Il en faudrait d'autre d'important a cocher ?

Share this post


Link to post
Share on other sites

C'est ce que je dit, les posts ce croise, y a tout maintenant.

Share this post


Link to post
Share on other sites

Non mais vous êtes sérieux ou quoi ? Pas étonnant que votre site soit en rideau...

Que fait cette fonction dans le fichier rindjael.php ???

C'est dans Validate.php qu'on a demandé de l'ajouter pas ailleurs

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

 

Share this post


Link to post
Share on other sites
il y a 2 minutes, Dominique a dit :

Et en cliquant sur la version 5.6, il me prose des cases a cocher pour Mycript, il est déjà coché. Il en faudrait d'autre d'important a cocher ?

No, il n'y a rien d'autre à cocher et aucun risque. Prestashop 1.6 a été écrit pour php 5.6, la 7 n'existait pas à l'époque.

Share this post


Link to post
Share on other sites
il y a une heure, SOURIRE DES SAVEURS a dit :

Bonjour,

me revoilà. En fait, il y avait bien une raison à la désactivation des surcharges. J'avais une page blanche lorsque on mettez un produit dans le panier. C'est en faisant un essai aujourd'hui que je m'en suis apperçue. Une idée ? Merci

Comment est-ce que je peux savoir ce qui me provoque des pages blanches lorsque Désactiver toutes les surcharges est sur

non
ça se produit lorsque je met un article dans le panier et que je fais commander.
Merci

Share this post


Link to post
Share on other sites


J'ai rien compris.

J'ai mis le patch dans le fichier admin et j'ai tapé l'url indiqué. Après je sais pas. Je ne sais même pas ce que c'est rindjael.php
Je vous ai donné le fichier Uploader.php Je me suis peut être trompé ailleurs je ne sais pas.
Comment je peur rétablir la situation.

Share this post


Link to post
Share on other sites

remettez PHP 5.6, ne touchez plus à rien et envoyez-moi un accès ftp par Messagerie Privée parce que là on va à la catastrophe...

Share this post


Link to post
Share on other sites

J'espère que vous avez eu mon message.
De mon coté dans ce fichier, j'ai pas la même chose, bizarre .
Merci

Share this post


Link to post
Share on other sites

Je vous ai répondu mais l'accès n'est pas ok pour un ftp

Share this post


Link to post
Share on other sites

Attendez j'arrive. C'était pas le ftp. autant pour moi.
C'est l’accès au

Share this post


Link to post
Share on other sites

Votre boutique est ok et patchée à présent^^

Share this post


Link to post
Share on other sites

Boutique sur prestashop 1.5.2.0, j'ai lu et suivi vos conseil à la lettre mais je me retrouve à chaque fois avec une page blanche en FO

Share this post


Link to post
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

Share this post


Link to post
Share on other sites
Posted (edited)
4 minutes ago, Eolia said:

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

Le soucis c'est que la personne qui a fait mon site il y a de cela plusieurs années n'est plus de ce monde et je n'y connais quasi rien du tout, j'aimerais si possible que quelqu'un m'aide, je peux rémunérer cette personne pour le service rendu bien sûr.

Edited by G4MeS (see edit history)

Share this post


Link to post
Share on other sites

Si vous avez suivi nos conseils à la lettre, vous avez accès à votre ftp, donc faites ce que je vous ai dit dans le fichier /config/defines.inc.php et donnez-nous l'erreur qui s'affichera à la place de votre page blanche

Share this post


Link to post
Share on other sites
il y a 9 minutes, juju74460 a dit :

De mon côté j'ai bloquer L'IP dans le fichier htaccess 

Toi, tu devrais lire les posts plus haut^^

Share this post


Link to post
Share on other sites
Posted (edited)

Certe j'ai tout lu mais bon... Me retrouver avec des bugs un dimanche de pâque j'étais pas trop chaud, donc j'ai fais ca il y a 2 jours, ça a tenu jusqu'à aujourd'hui et la rebelote presque la même IP d'ailleurs , je vais le rebloquer demain matin voir si ça persiste 

Je suis sur que c'est la même ip pour tout le monde. 

Je pense même bloquer une plage d'ip ça sera plus radical 

Edited by juju74460 (see edit history)

Share this post


Link to post
Share on other sites
On 4/20/2019 at 12:39 PM, doekia said:

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

 


Bravo doekia pour cette très bonne idée.

Avec 1.4.8.2 un nom en www.*** passe quand même.
Dommage que je ne puisse pas faire plus d'essais : sans environment de dev sous la main, j'ai testé en prod... Pas bien...
Alors pour l'instant c'est ban sur les ip Estonienne qui ont créé ces spams.
 

Share this post


Link to post
Share on other sites

Deux ip depuis le 19/04. Elles laisssent aussi des traces dans les logs postfix, sans exciter fail2ban.
46.22.220.10
46.22.220.49
 

Share this post


Link to post
Share on other sites

J'ai les 2 mêmes 👍 

En espérant qu'il n'y en ai pas d'autres 

Share this post


Link to post
Share on other sites
1 hour ago, cmak said:

Deux ip depuis le 19/04. Elles laisssent aussi des traces dans les logs postfix, sans exciter fail2ban.
46.22.220.10
46.22.220.49
 

merci les gars, ca semble tenir. 

J'avais envie d'éviter de toucher le code ce week end vu les massacres vu plus haut (bon le fix semble etre ok, ca vient des utilisateurs mais bon ca rassure pas terrible)

J'avais d'autres chats à fouetter ce we, la pour l'instant plus de hot anna qui s'inscrit donc perfectissimo

Share this post


Link to post
Share on other sites

Cette solution fonctionne parfaitement (et très facile à mettre en oeuvre).

Croisons les doits pour que le robot ne soit pas mis à jour tout de suite.... sinon ça recommencera. Et on devra trouver une autre "feinte" pour bloquer les inscriptions.

 

Merci doekia

Share this post


Link to post
Share on other sites
Il y a 12 heures, Eolia a dit :

Si vous avez suivi nos conseils à la lettre, vous avez accès à votre ftp, donc faites ce que je vous ai dit dans le fichier /config/defines.inc.php et donnez-nous l'erreur qui s'affichera à la place de votre page blanche

Bonjour,

lorsque je mets les fichiers dans controler, et que je mets non sur desactiver toutes les surcharges, j'ai une page blanche depuis mon front office lorsque je mets un produit dans le panier et que je clique sur commander.

En mode debug, j'ai :

Fatal error: Uncaught Error: Call to undefined method Product::checkAccessStatic() in /home/souriredessaveur/public_html/classes/Cart.php:3301 Stack trace: #0 /home/souriredessaveur/public_html/controllers/front/OrderController.php(52): CartCore->checkProductsAccess() #1 /home/souriredessaveur/public_html/classes/controller/Controller.php(170): OrderControllerCore->init() #2 /home/souriredessaveur/public_html/classes/Dispatcher.php(367): ControllerCore->run() #3 /home/souriredessaveur/public_html/index.php(28): DispatcherCore->dispatch() #4 {main} thrown in /home/souriredessaveur/public_html/classes/Cart.php on line 3301

Qu'est-ce que ça veut dire ?

et voici ma ligne du fichier cart.php

     ligne 3300  foreach ($this->getProducts() as $product) {
     ligne 3301       if (!Product::checkAccessStatic($product['id_product'], $this->id_customer)) {
     ligne 3302           return $product['id_product'];

Que dois-je faire ? Pour l'instant, j'ai mis Oui dans désactiver toutes les surcharges, comme ça je n'ai plus de page blanche dans le panier, mais en même temps, le blocage de ces inscriptions ne fonctionnent pas.

merci de votre aide

Share this post


Link to post
Share on other sites

Normalement cette fonction est native et existe dans Product.php

image.thumb.png.1ce993eb25bac76ac153cd7fb3d1c8ef.png

Si cette fonction n'est pas présente dans /classes/Prdoduct.php, il y a un gros souci

Si elle est présente, c'est qu'un override moisi de Product.php existe dans /overrides/classes/ (fichier à supprimer donc)

Share this post


Link to post
Share on other sites
Il y a 13 heures, Eolia a dit :

Votre boutique est ok et patchée à présent^^

Merci a vous.
Grâce a vous beaucoup de monde se casses moins la tête contre les mur.
Quant on a pas les connaissances suffisante on panique rapidement et on se perd certainement aussi facilement.
Je vous remercie donc d'être là. Et a Doékia aussi, qui c'est foi-ci ma pas aidé mais la fait dans le passé.
Vous est les piliers de Prestahop Forum.
Merci a tous.

Share this post


Link to post
Share on other sites
il y a 35 minutes, Eolia a dit :

Normalement cette fonction est native et existe dans Product.php

image.thumb.png.1ce993eb25bac76ac153cd7fb3d1c8ef.png

Si cette fonction n'est pas présente dans /classes/Prdoduct.php, il y a un gros souci

Si elle est présente, c'est qu'un override moisi de Product.php existe dans /overrides/classes/ (fichier à supprimer donc)

Bonjour,

j'ai bien un fichier Product.php dans /overrides/classes

je ne sais pas à quoi il sert, je le joins.

pouvez-vous me dire s'il y a dans ce fichier des particularités ou s'il faut vraiment que je le supprime et que c'est sans risque ?

Merci

Product.php

Share this post


Link to post
Share on other sites

Je ne sais pas en quelle version vous êtes mais ce fichier correspond à une version de la classe Product de 2014 et effectivement, la fonction appelée n'existait pas encore.

Vu que votre boutique fonctionnait très bien avec les overrides désactivées, le supprimer ne posera aucun problème (auparavant il n'était pas lu et maintenant il ne le sera plus vu qu'il n'existera plus)

C'est l’exemple même d'overrides foireuses. Plutôt que d'ajouter ou modifier une fonction précise on c/c toute la classe et on arrive à ce genre de pb (et en plus les maj effectuées par la suite ne seront jamais prises en compte)

Share this post


Link to post
Share on other sites

blocage des ips fonctionne à 90% pour l'instant... 

Seulement 2 inscriptions cette nuit versus 7-8 en temps normal. 

J'attend de voir la suite.

Si d'autres IP pointent, merci de les indiquer afin qu'on puisse les blacklister! 

PS : merci à ce forum et a prestashop , on vit dans un monde incroyable quand même! 

Share this post


Link to post
Share on other sites

Le patch de Doekia marche parfaitement 😀

 

Share this post


Link to post
Share on other sites
On 4/20/2019 at 11:29 AM, doekia said:

image.png.f73bd52325a478f320b2bbd765b12ddd.png

image.thumb.png.9b336ba0172bb4a17aa2a574b5c642e9.png

Bonjour à tous,

j'ai suivi vos instructions, pour le moment pas d'erreur j'attends de voir si lle chmilblik fonctionne ;) merci d'avance pour ca!

en tout cas j'ai un petit souci, je ne peux pas supprimer les faux comptes qui ont été créés... que je supprime a l'unité ou en masse j'ai l'erreur Property Customer->lastname is not valid

une idée? j'ai vu que quelqu'un avait ce pb plus haut dans le sujet mais visiblement pas de solution je crois.

merci de votre travail, sacrié boulot!!

Share this post


Link to post
Share on other sites

Bonjour à tous,

Je viens de faire la modification des 2 fichiers et cela fonctionne. Bien mettre le code avant le dernier } pour le validate.php

Un énorme merci à Eolia et Doekia

Café offert à Doekia si Eolia tu acceptes les petits dons, ça sera avec plaisir!

Share this post


Link to post
Share on other sites

epicapo Après l'application de la correction, je ne peux effectivement plus supprimer les quelques comptes spams crées (avant je pouvais sans problème).

Share this post


Link to post
Share on other sites
Posted (edited)

C'est "lastname" qui pose problème essayez de modifier le nom par un mot quelconque.
C'est mieux d'effacer les faux client puis appliquer les modifs pour éviter le problème

Edited by passicool (see edit history)

Share this post


Link to post
Share on other sites

Cochez le choix: Je souhaite que mes clients puissent se recréer un compte !!

Lisez la phrase en entier vous comprendrez mieux pourquoi !

Share this post


Link to post
Share on other sites

question d'apprenti jedi, 

il vaut mieux guerir que prevenir, 

si je fais les modifs et que ca part en cacahouete, je remet mes fichiers d'origine et le shop repart beau comme un camion? ou je dois lancer un SOS? 

 

bon je me doute que c'est ok en remettant les fichiers d'origine mais si on peut me confirmer , parfait

Share this post


Link to post
Share on other sites

UNE question en plus : avez vous des inscriptions  de nouveaux clients des vrais avec l’attaque ? Ou bien avez vous que des commandes d’existant ....? 

Merci

Share this post


Link to post
Share on other sites
1 minute ago, artistik said:

UNE question en plus : avez vous des inscriptions  de nouveaux clients des vrais avec l’attaque ? Ou bien avez vous que des commandes d’existant ....? 

Merci

Pas de soucis au niveau des inscriptions j'ai une centaine de commandes ( nouveau client ) depuis l'application du patch.

Share this post


Link to post
Share on other sites

Cela ne change rien au compte client pas d'inquiétude, ça te remplis juste t'as BDD pour rien. 

Par contre il change souvent D'IP donc htaccess a mettre à jours très souvent. 

Share this post


Link to post
Share on other sites

merci pour votre rapidité ! en fait je suis un peu confu car j'avais essayé les 2 options!! et va comprendre ca marchait pas et la ça a fonctionné (option 1) 😕

enfin bref tout semble fonctionner pour le mieux. je n'ai plus de spam et visiblement mes clients peuvent continuer a acheter puisque je viens de valider une commande.

la question que je me pose maintenant est :

le module eicaptcha, il sert a quelquechose ou je peux le supprimer franchement? a priori il est censé protéger contre spam contact ET spam inscription (j'ai coché les 2 options)...

merci a+

 

Share this post


Link to post
Share on other sites
9 minutes ago, Epicapo said:

merci pour votre rapidité ! en fait je suis un peu confu car j'avais essayé les 2 options!! et va comprendre ca marchait pas et la ça a fonctionné (option 1) 😕

enfin bref tout semble fonctionner pour le mieux. je n'ai plus de spam et visiblement mes clients peuvent continuer a acheter puisque je viens de valider une commande.

la question que je me pose maintenant est :

le module eicaptcha, il sert a quelquechose ou je peux le supprimer franchement? a priori il est censé protéger contre spam contact ET spam inscription (j'ai coché les 2 options)...

merci a+

 

merci pour les reponses. 

 

Pour EIcaptcha tu peux le garder pour le formulaire de contact 

pour le spam d'inscription actuel, il ne sert à rien, il passe par dessus donc tu peux l'enlever  surtout au moment de passer la commande, pas le meilleur a garder...

 

 

Share this post


Link to post
Share on other sites

Je vais tester cette solution Eolia. Si je comprends bien, elle ne concerne que le formulaire de contact. Pas le formulaire d'inscription?

Merci encore

Share this post


Link to post
Share on other sites

Ben relis bien^^

Share this post


Link to post
Share on other sites

Bonjour
Merci à vous pour le patch. Comme d'habitude vous êtes les premiers à réagir et à trouver une solution 😉

Juste un petit problème, j'ai testé en manuel dans le code et en override par le patch.
Les urls dans nom et prénom sont bien impossible à mettre , mais quand je mets un vrai prénom/nom, du coup j'ai une erreur création client (nom invalide, prénom invalide).

Et sur 3 boutiques différentes (deux en 1.6.0.14 et une 1.6.1.18).

Une idée ?

Cordialement

Nelson

 

presta.jpg

Share this post


Link to post
Share on other sites

Oh là là je suis fatigué, désolé. C'est pourtant écrit assez gros !

Et sinon question bête, quel est le but du pirate de faire ce genre de spams?

 

 

Share this post


Link to post
Share on other sites

Bon, il y a de l'amélioration le code marche, j'ai édité les fichiers et c'est nickel, maintenant quand je met un produit dans le panier j'ai une page blanche :(

Pour info prestashop 1.5.2.0

Share this post


Link to post
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

 

Share this post


Link to post
Share on other sites
6 minutes ago, Eolia said:

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

 

C'est fait, pas de message, une page blanche 

Share this post


Link to post
Share on other sites

Pas normal...

regardez l'error.log de votre hébergement alors

Share this post


Link to post
Share on other sites
5 minutes ago, Eolia said:

Pas normal...

regardez l'error.log de votre hébergement alors

Je sais même pas c'est quoi, comme dis précédemment, je n'ai pas fais le site et la personne n'est plus là. 

Share this post


Link to post
Share on other sites

envoyez-moi un accès ftp par Message privé alors.

Share this post


Link to post
Share on other sites
5 minutes ago, Eolia said:

envoyez-moi un accès ftp par Message privé alors.

MP envoyé

Share this post


Link to post
Share on other sites

Bonjour a tous

Peux t on effacer ces clients indelicats directement dans la BDD sans risque  table ps_customer ?

Share this post


Link to post
Share on other sites

Et maintenant ?

image.png.68a7a3fd295d6d44ad71e17c42254357.png

Share this post


Link to post
Share on other sites
1 minute ago, Eolia said:

Et maintenant ?

image.png.68a7a3fd295d6d44ad71e17c42254357.png

C'est bon quand j'ajoute au panier mais quand je cré un compte aprés j'ai ça

Fatal error: Call to undefined method Tools::cleanNonUnicodeSupport() in /homepages/39/d438665938/htdocs/override/classes/Validate.php on line 7

 

Share this post


Link to post
Share on other sites

Yes, 1.5..., j'ai viré cette sous-fonction.

Share this post


Link to post
Share on other sites

Et pour les 1.5, patchez directement la classe Customer.php autrement l'object model fait péter la validation (champs requis inexistants)

Share this post


Link to post
Share on other sites

Merci beaucoup Eolia pour ton aide

Share this post


Link to post
Share on other sites
1 hour ago, phyto-soins said:

Et sinon question bête, quel est le but du pirate de faire ce genre de spams?

 

 

Je me pose la même question

T'as une idée #Eolia ? 

Share this post


Link to post
Share on other sites

t'inciter à cliquer sur les liens^^ (et en même temps pourrir ton IP au niveau des newsletters)

  • Like 1

Share this post


Link to post
Share on other sites

😂 Qu'elle idée de s'y prendre comme ça ! Merci Eolia 😉

Share this post


Link to post
Share on other sites