Quelles sont les 10 erreurs et solutions de virus Prestashop ?

tableau comparatif des 10 erreurs ou infections de type "virus" les plus fréquentes sur PrestaShop
| Nom du problème | Symptômes observés | Cause fréquente | Impact sur la boutique | Prix de correction (HT) |
|---|---|---|---|---|
| 1. Fichiers PHP malveillants (WebShell) | Fichiers inconnus dans /modules, /img, /upload, accès admin détourné | Failles dans modules ou accès FTP compromis | Prise de contrôle partielle du site | 150 € – 400 € |
| 2. Redirections vers des sites externes | Clients redirigés vers des sites frauduleux (phishing, pub, etc.) | Injection JS ou .htaccess modifié | Perte de confiance, blacklist Google | 200 € – 500 € |
| 3. Code JavaScript malveillant | Apparition de popups, crypto-miners ou formulaires suspects | Insertion de scripts via modules non sécurisés | Ralentissement, vol de données | 150 € – 300 € |
| 4. Modification du fichier .htaccess | Erreurs 500, redirections étranges, pages bloquées | Script auto-injecté dans .htaccess | Site inaccessible ou piégé | 100 € – 250 € |
| 5. Backdoor dans les modules | Un module installé ouvre une porte à des commandes à distance | Module nulled / piraté téléchargé | Accès total au serveur pour l'attaquant | 250 € – 600 € |
| 6. Formulaires détournés pour spam | Envoi massif d’e-mails depuis le formulaire de contact | Script injecté via faille de formulaire | IP blacklistée, serveur e-mail bloqué | 120 € – 300 € |
| 7. Fausse page de paiement (phishing) | Page de paiement remplacée ou dupliquée pour voler les cartes | Script phishing injecté via FTP ou base de données | Vol de données bancaires, risque juridique | 300 € – 700 € |
| 8. Injection SQL ou XSS | Requêtes anormales, affichage de code HTML ou JavaScript dans le front-office | Failles dans les modules ou champs non sécurisés | Fuite de données, accès admin détourné | 200 € – 400 € |
| 9. Indexation de contenus piratés (SEO Spam) | Google indexe des pages en chinois/russe avec liens vers casinos, viagra, etc. | Infections de type SEO Cloaking | Déclassement SEO, blacklist | 300 € – 800 € |
| 10. Accès admin volé ou login exposé | Connexion suspecte dans le back-office, modification des commandes ou produits | Mot de passe faible ou bruteforce | Contrôle de la boutique par un tiers | 150 € – 300 € |
1. Comment détecter et supprimer un fichier PHP malveillant (webshell) dans PrestaShop pour éviter le piratage
Les fichiers PHP malveillants, souvent appelés webshells, sont des scripts déposés par des pirates dans des dossiers tels que /img, /upload, ou /modules. Ils permettent d’exécuter des commandes à distance et de prendre le contrôle de votre boutique. Ces fichiers ont souvent des noms trompeurs (ex : functions.php, symfony.php, etc.) et sont insérés via des failles dans des modules ou des accès FTP non sécurisés.
Pour les supprimer, scannez l’ensemble de votre FTP avec un antivirus serveur ou utilisez un outil comme Virusdie, MalCare ou encore des scripts de comparaison d'intégrité. Supprimez les fichiers suspects, mettez à jour vos modules, changez tous vos mots de passe FTP et admin, et vérifiez les autorisations des fichiers. Une sauvegarde propre est aussi fortement recommandée.
2. Redirections malveillantes dans PrestaShop : comment les supprimer et restaurer votre trafic naturel
Les redirections vers des sites frauduleux sont un signe typique d’une infection sur PrestaShop. Vos clients peuvent être envoyés vers des sites de phishing, de jeux d’argent ou de fausses boutiques dès qu’ils accèdent à une page produit ou au panier. Cela est souvent dû à un script JavaScript injecté dans votre thème ou un fichier .htaccess modifié.
Pour corriger cela, inspectez les fichiers header.tpl, footer.tpl, et .htaccess. Utilisez l’outil Search in Files dans votre éditeur pour détecter les URLs inconnues. Une fois les redirections supprimées, forcez le cache à se vider, réindexez votre site sur Google Search Console et surveillez les fichiers modifiés les jours suivants.
3. Virus JavaScript dans PrestaShop : comment identifier un script malveillant et protéger vos clients
Une infection JavaScript dans PrestaShop peut se manifester par l’apparition de popups suspects, un ralentissement global du site ou des redirections vers des domaines inconnus. Le code est souvent injecté dans un fichier .tpl de votre thème ou directement dans la base de données via un champ de description produit ou CMS.
Inspectez le code source du front-office pour repérer les scripts externes inconnus. Vérifiez également la base de données avec une requête SQL ciblée sur les champs HTML. Supprimez tout code suspect, sécurisez vos champs via des filtres de saisie, et mettez à jour tous les modules pour éviter une nouvelle injection.
4. Fichier .htaccess modifié par un virus : comment le restaurer pour corriger les erreurs 500 sur PrestaShop
Un fichier .htaccess modifié par un script malveillant peut provoquer des erreurs 500, des redirections bizarres ou rendre tout votre site inaccessible. C’est un fichier crucial pour la réécriture d’URL, la gestion du cache et la sécurité des dossiers. S’il est corrompu, votre boutique devient instable voire inutilisable.
Pour corriger le problème, supprimez le fichier .htaccess à la racine et régénérez-le depuis le back-office (SEO & URLs > Générer le fichier .htaccess). Vérifiez ensuite les règles de réécriture ou de redirection, et comparez avec un fichier .htaccess propre issu d’une installation saine de PrestaShop. Activez les logs d’erreurs pour détecter les anomalies futures.
5. Backdoor cachée dans un module PrestaShop : comment la détecter et sécuriser votre boutique
Une backdoor est un accès caché laissé volontairement ou non dans un module, permettant à un pirate de revenir sur votre site même après une suppression de fichier malveillant. Elle est souvent dissimulée dans un module "nulled", téléchargé illégalement, ou dans un fichier d’apparence légitime comme helper.php ou tools.php.
Pour la détecter, scannez les fichiers avec un outil de détection de fonctions sensibles (eval, base64_decode, system, etc.). Supprimez immédiatement les modules non officiels et restaurez une version propre depuis une source vérifiée. Ensuite, changez tous les mots de passe FTP et admin, désactivez l’exécution PHP dans certains dossiers, et bloquez les accès suspects via .htaccess.
6. Formulaire de contact piraté sur PrestaShop : comment stopper l’envoi de spams et nettoyer votre boutique
Il arrive que le formulaire de contact soit utilisé pour envoyer du spam massivement, notamment si la validation anti-robot (CAPTCHA) est absente ou obsolète. Ce type d’attaque surcharge votre serveur, entraîne une mise en liste noire de votre IP mail, et peut bloquer totalement l’envoi d’e-mails légitimes à vos clients.
Pour résoudre le problème, commencez par installer ou mettre à jour un module reCAPTCHA. Vérifiez aussi les logs du serveur SMTP pour repérer les pics d’envoi. Nettoyez la file d’attente des e-mails si nécessaire. Désactivez temporairement le formulaire si l’attaque persiste, puis sécurisez les champs avec des validations côté serveur et côté client.
7. Page de paiement détournée dans PrestaShop : comment détecter une attaque de phishing et protéger vos clients
Si votre page de paiement a été modifiée ou dupliquée, il est possible qu’un pirate ait injecté un faux formulaire pour récupérer les données bancaires de vos clients. Cela peut entraîner des conséquences juridiques lourdes et une perte de confiance irréversible. Les pirates ciblent souvent les fichiers order-payment.tpl ou les modules de paiement.
Inspectez tous les fichiers liés au tunnel de commande et comparez-les avec une version propre de PrestaShop. Vérifiez également les modules de paiement installés et les liens pointant vers des URLs externes. Changez immédiatement tous les accès FTP, MySQL et admin, et prévenez votre banque et vos clients en cas de suspicion de vol de données.
8. Injection SQL ou XSS sur PrestaShop : comment repérer une faille et la corriger rapidement
Une injection SQL permet à un pirate d'accéder à votre base de données via des failles dans des champs non sécurisés. Une faille XSS (Cross-site scripting), quant à elle, permet d’injecter du code malveillant dans les champs HTML affichés côté client. Ces attaques sont dangereuses car elles peuvent voler des données ou détourner les sessions admin.
Pour corriger cela, analysez les modules installés et désactivez ceux qui n’ont pas été mis à jour depuis longtemps. Utilisez un scanner de vulnérabilités comme Detectify, Snyk, ou des outils open source. Appliquez les mises à jour de sécurité de PrestaShop, et limitez les autorisations SQL de votre utilisateur de base de données.
9. SEO spam sur PrestaShop : comment supprimer les pages en chinois ou russes indexées par Google
Si vous découvrez que Google indexe des pages de votre site avec des titres en chinois, russe ou des liens vers des contenus illégitimes (viagra, casinos...), c’est que votre boutique est victime de SEO Spam. Le pirate insère du contenu masqué qui n’apparaît qu’aux robots Google, via des règles de cloaking.
Inspectez votre sitemap, les fichiers .htaccess et les pages générées dynamiquement. Supprimez les fichiers suspects et demandez une réindexation sur Google Search Console après nettoyage. Pour éviter les réinfections, mettez à jour vos modules, installez un pare-feu WAF si possible, et surveillez les changements de fichiers à l’aide d’un outil comme Tripwire ou File Integrity Checker.
10. Accès admin piraté sur PrestaShop : comment récupérer le contrôle de votre boutique et renforcer la sécurité
Un accès admin volé permet à un pirate de modifier les produits, les commandes ou les modules, voire de désactiver totalement votre boutique. Cela peut se produire via un mot de passe trop simple ou une attaque par force brute si l’URL d’administration est connue (/admin123 par défaut).
Commencez par changer immédiatement les mots de passe via la base de données (table ps_employee) et renommez votre dossier admin. Analysez les connexions récentes dans les logs du serveur. Installez un module de double authentification (2FA), et ajoutez un système de blocage d’IP après plusieurs tentatives échouées. Enfin, limitez l’accès au back-office par adresse IP si possible.