Jump to content

Nouvelle Vape

Members
  • Posts

    91
  • Joined

  • Last visited

Posts posted by Nouvelle Vape

  1. Perso, je n'ai jamais pu trouver l'origine de la faille avec certitude. Cependant, le plus probable d'après moi est une erreur (de débutant!) de ma part, que j'ai commise une fois: j'ai fourni les accès ftp à une société qui développe un module prestashop (je ne dirai pas lequel) et qui avait du intervenir pour faire une correction sur le module. Suite à cette intervention, j'avais oublié de changer mon mot de passe.

    Donc lorsque parfois on vous demande les accès ftp ou BO, n'oubliez pas de changer les mots de passe après, on ne sait jamais dans quelles mains ils tombent...

     

  2. J'ai contacté Oyst et ils acceptent le commerce de la cigarette électronique.

    J'ai donc crée un compte freepay, installé le module et activé la clé.

    Mon problème maintenant c'est qu'en cliquant sur le bouton de paiement à la fin du tunnel de conversion, j'ai le message d'erreur suivant:

    Une erreur est survenue avec le système de paiement. Veuillez contacter le support.

     

    En fait, c'est le même message d'erreur que j'ai actuellement avec Hipay et qui m'avait contraint à chercher un nouveau prestataire. Du coup, je me demande si il n'y a pas un autre souci au niveau de ma config prestashop ou chez mon hébergeur (OVH mutu). Par contre, Paypal fonctionne sans problème.

    Je ne sais pas trop dans quelle direction chercher. J'ai tenté de désactiver les firewalls mais ça n'a rien donné.

     

    Si quelqu'un a une idée... Moi je sèche!

    Merci!

  3. Bonjour,

     

    J'ai une boutique ps 1.6.1.17 pour la vente de cigarette électronique et e-liquide et je suis depuis quelque temps confronté à un vrai problème: la plupart des prestataires de paiement (sans VAD) refusent la vente de cigarette électronique, ou plus précisément leur partenaire bancaire le refuse.

     

    J'ai un temps fonctionné avec Paypal et Payplug. Payplug a fini par m'annoncer que suite à un changement de partenaire bancaire, ils n'acceptaient plus la cigarette électronique. Une notification une semaine avant et ils m'ont mis dehors.

     

    J'ai ensuite remplacé Payplug par Hipay, qui m'a accepté. Jusqu'à ce que je rencontre un problème de fonctionnement de leur module. Ce problème est en cours de résolution, mais ça fait déjà presque deux mois que je patiente.

     

    Paypal est aussi entrain de changer son fusil d'épaule. Déjà que le paiement par carte bancaire sans compte Paypal était déjà pas folichon, il semblerait que d'ici peu cela ne soit plus possible sans ouvrir un compte Paypal. D'après ce que j'ai compris et du retour de certains clients, c'est encore possible en passant commande à partir d'un ordinateur, mais plus à partir d'une tablette et d'un smartphone.

     

    Me voilà donc en galère avec un demi-Paypal et un Hipay en panne!

     

    Je suis donc parti en croisade, à la recherche d'un prestataire de paiement qui daigne accepter le commerce de la cigarette électronique.

    J'ai tenté Stripe: refusé

    J'ai tenté Paygreen: refusé

    Je commence à me demander si seulement il y en a un qui accepterait.

     

    Si certains d'entre vous ont rencontré le même problème que moi et ont trouvé une solution, je serais ravi de la connaître.

    Merci à vous!

     

    Olivier

     

  4. Bonjour,

     

    J'ai deux solutions :

     

    1/ Je suis passé par easycron, avec un compte gratuit c'est suffisant, même en mettant une fréquence rapprochée pour certaines tâches.

     

    2/ Avec un fichier php qui lance la suite de tâches et une tâche cron OVH qui lance le fichier php en amont :)

     

    #!/usr/local/bin/php
    <?php
    error_reporting(E_ALL);
    
    $break_line = (php_sapi_name() == "cli") ? chr(13) : '<br/>';
    $urls = array(
    'http://votrenomdedomaine.com/dossieradminsurvotreftp/index.php?controller=AdminCronJobs&token=xxxxxxxxxxxxxxxfeeb'
    Le lien est à récupérer directement depuis le module cronjob de mémoire, mais je ne suis plus sûr à 100%, étant donné que j'ai gardé la solution d'easycron. J'ai désinstallé ce module.

     

    Puis ce fichier php a été placé sur le ftp à la racine dans un dossier à nommer comme bon vous semble, enfin l'url à appeler depuis OVH est celle du fichier php : votrenomdedomaine/votredossier/fichier.php

     

    Bon courage :)

    Bonjour wibleo,

    Je reviens sur la solution 2 que tu proposais.

    Le fichier php se lance correctement avec le Cron ovh mais il me renvoie ensuite une erreur:

    Accès interdit à l url indiqué dans le fichier php (access forbiden ). J'imagine bien que c'est une histoire de permission mais je n'arrive pas à le résoudre. Aurais tu une idée par hasard ? Merci.

  5. Hi can someone confirm this script works on PS 1.6.1.11?

     

    I can't make it work, still searching the problem

    Hi,

     

    The script worked for me on ps 1.6.1.11.

    I placed it in the root folder of ps and first commented the line that effectively delete the pictures. I checked with the log which pictures it planned to delete and then uncommented the line. It saved me hundreds of MB!

     

    Hope you will be able to make it work.

    Olivier

  6.  

    With the help of shopimport.nl code I have written code to delete images for the directory structure img/p/1/2/3 as well.

    <?php
    // root path of the shop
    $shop_root='/home/xyz/public_html/';
    // limit number of image files to check, set to 10 for testing
    $limit=10;
     
     
    include $shop_root . '/config/settings.inc.php';
    $pdo = new PDO( 'mysql:host='._DB_SERVER_.';dbname='._DB_NAME_, _DB_USER_, _DB_PASSWD_ );
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $r=$pdo->query('select count(1) cnt from ps_image')->fetch();
    echo 'count images database: '.$r['cnt'] . "<Br />";
     
    // reset some counters
    $cnt_files=0;
    $cnt_checked=0;
    $cnt_not_found=0;
    $cnt_found=0;
    
    for($ii=1; ($ii<=9) && ($cnt_files != $limit); $ii++)
    {
    	$path=$shop_root.'img/p/'.$ii;
    	delImage($path);
    	for($jj=0; ($jj<=9) && ($cnt_files != $limit); $jj++)
    	{	
    		$path=$shop_root.'img/p/'.$ii.'/'.$jj;
    		delImage($path);
    		for($kk=0; ($kk<=9) && ($cnt_files != $limit); $kk++)
    		{
    			$path=$shop_root.'img/p/'.$ii.'/'.$jj.'/'.$kk;
    			delImage($path);
    			for($ll=0; ($ll<=9) && ($cnt_files != $limit); $ll++)
    			{
    				$path=$shop_root.'img/p/'.$ii.'/'.$jj.'/'.$kk.'/'.$ll;
    				delImage($path);
    			}	
    		}
     	}
     		
    }
    echo 'files: '.$cnt_files.' checked: '.$cnt_checked.' not_found: '.$cnt_not_found.' found: '.$cnt_found;
    
    function delImage($imageDir)
    {
    	global $limit, $pdo, $cnt_files, $cnt_checked, $cnt_not_found, $cnt_found;
    	if ($handle = @opendir($imageDir)) {			//@ is wriiten to avoid warning message and is handled in else condition
    		echo $imageDir."<BR />";
        		while ($cnt_files != $limit && false !== ($entry = readdir($handle))) {
            		if ($entry != "." && $entry != "..") {
                    		$cnt_files++;
                    		$pi = explode('-',$entry);
                    		if($pi[0]>0 && !empty($pi[1])) {
                            		$cnt_checked++;
                            		if(!checkExistsDb($pdo,$pi[0])) {
                                    		$cnt_not_found++;
                                    		echo 'rm '.$imageDir.'/'.$entry."<BR />";
    			        		unlink($imageDir.'/'.$entry);
                            		} else {
                                    		$cnt_found++;
                           			}
                    		}
            		}
        		}
        			closedir($handle);
    	}
    	else
    	{
    		echo $imageDir." doesn't exist".'<BR />';
    	}
    
    }
     
    function checkExistsDb($pdo, $id_image) {
            $r=$pdo->query($q='select \'ok\' ok, (select id_image from ps_image where id_image = '.(int)$id_image.') id_image');
            $row=$r->fetch();
            if($row['ok']!='ok') die( 'Problem with query, please correct');
            return $row['id_image']?true:false;
    }
    

     

     

    With the help of shopimport.nl code I have written code to delete images for the directory structure img/p/1/2/3 as well.

    <?php
    // root path of the shop
    $shop_root='/home/xyz/public_html/';
    // limit number of image files to check, set to 10 for testing
    $limit=10;
     
     
    include $shop_root . '/config/settings.inc.php';
    $pdo = new PDO( 'mysql:host='._DB_SERVER_.';dbname='._DB_NAME_, _DB_USER_, _DB_PASSWD_ );
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $r=$pdo->query('select count(1) cnt from ps_image')->fetch();
    echo 'count images database: '.$r['cnt'] . "<Br />";
     
    // reset some counters
    $cnt_files=0;
    $cnt_checked=0;
    $cnt_not_found=0;
    $cnt_found=0;
    
    for($ii=1; ($ii<=9) && ($cnt_files != $limit); $ii++)
    {
    	$path=$shop_root.'img/p/'.$ii;
    	delImage($path);
    	for($jj=0; ($jj<=9) && ($cnt_files != $limit); $jj++)
    	{	
    		$path=$shop_root.'img/p/'.$ii.'/'.$jj;
    		delImage($path);
    		for($kk=0; ($kk<=9) && ($cnt_files != $limit); $kk++)
    		{
    			$path=$shop_root.'img/p/'.$ii.'/'.$jj.'/'.$kk;
    			delImage($path);
    			for($ll=0; ($ll<=9) && ($cnt_files != $limit); $ll++)
    			{
    				$path=$shop_root.'img/p/'.$ii.'/'.$jj.'/'.$kk.'/'.$ll;
    				delImage($path);
    			}	
    		}
     	}
     		
    }
    echo 'files: '.$cnt_files.' checked: '.$cnt_checked.' not_found: '.$cnt_not_found.' found: '.$cnt_found;
    
    function delImage($imageDir)
    {
    	global $limit, $pdo, $cnt_files, $cnt_checked, $cnt_not_found, $cnt_found;
    	if ($handle = @opendir($imageDir)) {			//@ is wriiten to avoid warning message and is handled in else condition
    		echo $imageDir."<BR />";
        		while ($cnt_files != $limit && false !== ($entry = readdir($handle))) {
            		if ($entry != "." && $entry != "..") {
                    		$cnt_files++;
                    		$pi = explode('-',$entry);
                    		if($pi[0]>0 && !empty($pi[1])) {
                            		$cnt_checked++;
                            		if(!checkExistsDb($pdo,$pi[0])) {
                                    		$cnt_not_found++;
                                    		echo 'rm '.$imageDir.'/'.$entry."<BR />";
    			        		unlink($imageDir.'/'.$entry);
                            		} else {
                                    		$cnt_found++;
                           			}
                    		}
            		}
        		}
        			closedir($handle);
    	}
    	else
    	{
    		echo $imageDir." doesn't exist".'<BR />';
    	}
    
    }
     
    function checkExistsDb($pdo, $id_image) {
            $r=$pdo->query($q='select \'ok\' ok, (select id_image from ps_image where id_image = '.(int)$id_image.') id_image');
            $row=$r->fetch();
            if($row['ok']!='ok') die( 'Problem with query, please correct');
            return $row['id_image']?true:false;
    }
    

    Many thanks, your script works great!

     

    Olivier

  7. Bonjour à tous,

     

    Après avoir écumé sans succès toutes les solutions proposées sur le forum, j'en ai trouvé une de plus qui a marché pour moi.

    Il suffit d'aller dans Paramètres avancés > performances et mettre "Désactiver toutes les surcharges" à "oui".

    Ensuite, plus de problème pour ajouter les images. Une fois terminé, on repasse le paramètre à "non" et c'est réglé.

    Je précise que j'ai récemment installé le thème panda, et c'est probablement ça qui est à l'origine de mon problème.

     

    Bon courage à tous ceux qui s'arrachent encore les cheveux avec ce problème!

  8. Utilisez-vous un module lié à l'expédition?

    J'ai un module Mondial Relay Activé.

    Je m'en suis finalement sorti en effaçant le transporteur qui buggait et j'en ai crée un autre. Ca a fonctionné cette fois, mais la contre-partie (non négligeable), c'est que j'ai dû réintégrer ce nouveau transporteur dans tous mes produits... Très fastidieux, mais ça a marché, je ne pouvais pas attendre.

    Merci quand même!

     

    Olivier 

  9. Bonjour,

     

    Je suis en PS1.6.1.4 et j'ai récemment voulu modifier l'un des transporteurs existants, et lorsque je clique sur le bouton "terminer", il m'affiche l'erreur:

    TECHNICAL ERROR: 

    Details:
    Error thrown: [object Object]
    Text status: parsererror

     

    C'est vraiment un gros problème, le pire c'est que mes réglages initiaux (avant tentative de modification) ont été effacés. Impossible de sauvegarder quoi que ce soit.

     

    Quelqu'un a une idée??

    Merci beaucoup.

     

    Olivier

  10. Bonjour,

     

    J'utilise le module Payplug depuis un an et demi sans aucun problème. Suite à un problème rencontré récemment (problème d’IPN), j'ai désinstallé et supprimé le module, puis je l'ai ré-installé. Et depuis, impossible de connecter le module:

    J'ai bien la page du module qui s'affiche dans le back office, mais lorsque je sais mon login et mon mot de passe, et que je clique sur "connecter le module", rien ne se passe. Prestashop charge la même page, sans aucune information ou message d'erreur. Je suis déjà en contact avec le support payplug, mais rien ne semble fonctionner pour le moment.

     

    Le support payplug me dit les choses suivantes:

    - supprimer le firewall applicatif > fait
    - mettre les dossiers et fichiers du module en chmod 755 > fait
    - vérifier que j'autorise les requêtes POST provenant d'Irlande > je ne crois pas les bloquer
    - ils me disent que mes certificats ne sont pas correctement installés > là, je ne sais pas trop quoi faire pour vérifier. Je suis simplement allé vérifier sur https://ssldecoder.org/. Il apparaît un certain nombre d'erreurs et warnings mais qui me semblent liées au fait que je n'ai pas de certificat ssl dédié. Ceci dit, je ne sais pas trop, je suis un peu à la limite de mes compétences!
    Auriez-vous un conseil à me donner?

    D'avance merci de votre aide.

  11. Bonjour à tous,

     

    je confirme ce que dis Wibleo, lorsque l'on insère l'url donnée par ps ou celle indiquée par Shido, ça ne marche pas, on ne peut même pas valider la création du cron.

    Il indique: 

    Les caractères acceptés pour les dossiers sont les lettres, les chiffres, et les caractères -_./ Par ailleurs, il est interdit d'accéder aux dossiers parents en utilisant ..

    il a pas l'air d'apprécier les caractère du style "?"

     

    Pareiln si quelqu'un a la solution je suis preneur.

     

    Olivier

  12. Bonjour à tous,

     

    J'ai récemment été victime d'une intrusion sur ma boutique Prestashop/Blog WordPress, qui a eu pour conséquences une redirection des robots vers un autre site concurrent et un "détournement" de mon référencement au bénéfice de cette autre boutique. Il y a probablement d'autres conséquences que j'ignore, mais les infos clients ont probablement été dérobés également. Bref, je suis parvenu à m'en débarrasser (à défaut de connaître l'origine de l'intrusion) et voici quelques indications pour "réparer" les dégâts. J'écris ce post car suite à cette intrusion, je suis allé vérifier sur quelques autres boutiques et je n'ai pas tardé à constater que j'étais loin d'être le seul.

     

    Caractéristiques de l'intrusion

     

    Le hacker est parvenu à installer un web ftp dans les répertoires PS et WP, ce qui lui donne accès à l'ensemble des fichiers sur le serveur avec tous les droits de lecture, d'écriture et d'exécution. Ce web ftp s'appelle PHP Web Manager ou PWM.

    A partir de cette interface ftp, le hacker a, dans mon cas, modifié mon fichier .htaccess à la racine: j'y ai retrouvé l'url de la boutique concurrente vers laquelle les robots étaient redirigés. Lorsque j'ai corrigé le problème, le hacker a effacé une configuration de la "Zone DNS" dans mon espace OVH (je ne sais pas comment il a fait, l'accès est protégé par envoi de code par SMS). Mon site n'a donc plus du tout fonctionné, le temps que je corriges le problème avec l'aide du support OVH.
     

    Comment savoir si vous êtes concernés

     

    Même si vous ne constatez pas de dysfonctionnement majeur sur votre boutique, je vous conseille de vérifier à tout hasard si vous êtes concernés. L'intrusion est relativement discrète.

     

    1. Depuis votre ftp, allez voir dans le répertoire ./modules/blockcart/
      si vous avez un dossier ./PWM_files et un fichier pwm.php, c'est que vous êtes concernés. J'ai également trouvé une copie identique dans un répertoire d'un plugin de WP (./wp-content/plugins). Si vous avez besoin d'être convaincu tapez l'url suivante dans votre navigateur: http://www.votreboutique/modules/blockcart/pwm.php, et vous comprendrez.
    2. Si vous ne trouvez rien, faire une recherche plus exhaustive sur l'ensemble de vos fichiers.
      Moi j'ai utilisé Filezilla, menu Server>Remote File Search. Pour la recherche, il faut faire "Filename" "Contains" "pwm". Si vous en trouvez, c'est que vous êtes concernés.

    Comment s'en débarrasser

    1. avec votre ftp, récupérer le fichier ./controllers/admin/AdminLoginController.php. Recherchez le caractère "@" pour trouver un éventuel email suspect. Moi, j'y ai trouvé un email vers lequel était transmis mon login et password du BO PS à chaque fois que je me connectais. Si vous trouvez un ligne de ce genre, faite un file compare avec l'original provenant d'une install d'origine pour corriger le problème.
    2. Récupérez votre fichier .htaccess principal, vérifiez s'il contient des ligne suspectes. Si vous avez un doute, faite un file compare avec un original. Moi j'ai trouvé une redirection vers le concurrent.
    3. Effacez tous les répertoires ./PWM_files que vous trouvez ainsi que les fichiers pwm.php à la racine du dossier.
    4. Changez tous vos mots de passes, PS BO, ftp, WP BO (si vous avez un WP), espace hébergeur, PS BDD, WP BDD et les accès aux emails.
    5. Updatez PS et WP pour "rafraîchir" un maximum de fichiers du core

    Je vous conseille de faire toutes ces étapes dans un même temps pour éviter une éventuelle récidive. A partir de là, normalement c'est bon. Pour en être certain, car l'intrusion peut-être un peu différente de la mienne, il ne vous reste plus qu'à passer vos nuits à analyser les logs web et ftp via l'hébergeur. Pareil, recherchez le mot clé PWM, pour essayer de comprendre quand l'intrusion a eu lieu et vérifier si il n'y pas d'autres choses à corriger. Au passage, relevez les adresses ip des hackers pour les bloquer avec le .htaccess.

    Après cet événement, j'ai mis pas mal de choses en place pour tenter d'augmenter la sécurité, j'ai notamment suivi le petit guide Rendre votre installation de PrestaShop plus sûre

    Profitez en pour faire une analyse complète antivirus, anti malware sur votre poste fixe.

     

    Voilà, c'est à peu près tout, je continue actuellement d'essayer de comprendre comment le hacker a réussi à s'introduire. Je ne suis pas un super spécialiste, alors je ne suis pas sur de comprendre un jour!

     

    Global Moderators et autres Prestashop fanatiques, si vous avez des remarques à ajouter, vous êtes les bienvenus!

     

    Bon courage si vous êtes concernés, j'espère que ce petit post vous aura été utile.

     

    Olivier

     

     

  13. Bonjour,

     

    Je viens de regarder trois plugins au hasard sur votre site les trois on eu des failles de sécurités majeures.

     

    wysija-newsletters 
    jetpack
    Yoast SEO

    Merci pour l'info. Je vais aller un peu traîner sur les forums wp alors... Je suis surpris que ces modules ne soient pas fiables, il s'agit de modules extrêmement téléchargés...

     

     

    Après il est tout à fait possible de se faire hacker par un module malveillant, téléchargé on ne sait où. N'oubliez pas qu'un module a accès à tous les fichiers de votre shop et à votre base de données.

     

    Il serait bon de regarder de ce coté, surtout si tous les sites ayant cette vérole sont des boutiques de e-cigarette. Un module particulièrement apprécié par ce type de site ?

    Une autre possibilité, est l'intervention d'un tiers mal-intentionné sur votre BO ou ftp (dev ou autre)

    Je n'utilise aucun module spécifique qui pourrait être lié à la cigarette électronique.

    Il n'y a pas d'autres personnes qui aient accès à mon BO ni ftp, ni aucun espace lié à la boutique.

     

    A priori il n'a toujours pas trouvé d'ou vient le problème.

     

    Pour moi ce n'est pas une bonne idée de dire comment trouver les boutiques infestées.

     

    3pom 

    Oui, il y a un risque en effet, étant donné que le mot de passe du web ftp est visible en clair par ftp. Ça donne potentiellement accès à un grand nombre de boutique avec tous les pouvoirs. Bref, je ne sais pas quoi faire. Et effectivement, je n'ai qu'une partie de l'explication: je sais comment l'enlever (enfin, je crois, jusqu'ici tout va bien!), mais je ne sais pas comment c'est arrivé. La réponse se trouve probablement dans les logs, mais c'est un peu du chinois et y en des kilomètres...

     

    Bon je vais essayer de faire un petit post, ce sera assez basique en fait, mais je ne serais pas surpris que pas mal de gens tombent de leur chaise. Je pense que la plupart des propriétaires des boutiques infectées que j'ai trouvées ne sont même pas au courant. Le hack est assez discret. De ce que j'ai pu constater, ils "détournent" le référencement vers d'autres boutiques.

     

    Et pour terminer, je suis franchement pas rassuré et aussi très surpris que WP soit aussi peu sécurisé. Je vais un peu plus traîner sur les forums en quête d'infos...

     

    Encore merci pour vos réponses.

     

    Olivier

×
×
  • Create New...

Important Information

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