PrestaShopsécuritée-commercetutoriel

Sécuriser sa boutique PrestaShop : le guide complet 2026

Protégez votre boutique PrestaShop contre les failles de sécurité. Guide complet : mises à jour, SSL, pare-feu, sauvegardes et bonnes pratiques pour un site e-commerce sécurisé.

Romain Kersuzan

Romain Kersuzan

Expert PrestaShop Freelance

Pourquoi la sécurité de votre PrestaShop est une priorité absolue

Une boutique en ligne, c’est bien plus qu’un catalogue de produits. C’est un coffre-fort numérique qui contient les données personnelles de vos clients : noms, adresses, emails, numéros de téléphone, et parfois des informations de paiement. Quand ce coffre-fort est mal verrouillé, les conséquences sont désastreuses.

Les chiffres parlent d’eux-mêmes :

  • 32 % des cyberattaques en France ciblent des PME et des sites e-commerce
  • Le coût moyen d’une violation de données pour une petite entreprise dépasse 120 000 euros
  • 60 % des petites boutiques en ligne ferment dans les 6 mois suivant une attaque majeure
  • Depuis l’entrée en vigueur du RGPD, les amendes pour défaut de protection des données personnelles peuvent atteindre 4 % du chiffre d’affaires annuel

PrestaShop, en tant que solution open source utilisée par plus de 300 000 boutiques dans le monde, est une cible privilégiée des attaquants. Le code source est public, les failles connues sont documentées, et trop de marchands négligent les mises à jour de sécurité.

Après 8 ans d’accompagnement de boutiques PrestaShop, j’ai vu des bases de données clients entièrement aspirées, des sites redirigés vers des pages de phishing, et des back-offices compromis utilisés pour injecter du code malveillant. Dans chaque cas, les mesures décrites dans ce guide auraient pu éviter le pire.

Voici un plan d’action complet pour sécuriser votre boutique PrestaShop en 2026.

Maintenir PrestaShop et ses modules a jour

La première ligne de défense, c’est la mise a jour. La majorité des attaques exploitent des failles de sécurité connues et déja corrigées dans des versions plus récentes. Si vous ne faites qu’une seule chose après avoir lu cet article, faites celle-ci.

Le core PrestaShop

PrestaShop publie régulièrement des correctifs de sécurité. Chaque nouvelle version mineure (8.1.1, 8.1.2, etc.) contient des patches critiques. Voici la démarche que je recommande :

  • Surveillez les annonces officielles : abonnez-vous au blog PrestaShop et au flux RSS des releases GitHub
  • Consultez le changelog avant chaque mise a jour : identifiez les correctifs de sécurité marqués comme “critical” ou “high”
  • Testez sur un environnement de préproduction avant de mettre a jour en production
  • Planifiez les mises a jour de sécurité sous 48 heures après leur publication

Si votre boutique tourne encore sous PrestaShop 1.6 ou 1.7, vous êtes en danger. Ces versions ne reçoivent plus de correctifs de sécurité. Une migration vers PrestaShop 8.x est alors indispensable.

Les modules et le thème

Les modules sont le maillon faible de la sécurité PrestaShop. Un seul module vulnérable suffit a compromettre toute votre boutique. Les attaques les plus médiatisées de ces dernières années ont exploité des failles dans des modules tiers, pas dans le core.

Bonnes pratiques :

  • Supprimez les modules inutilisés : ne les désactivez pas, supprimez-les complètement. Un module désactivé mais présent sur le serveur reste exploitable.
  • N’installez que des modules de sources fiables : PrestaShop Addons, éditeurs reconnus, développeurs de confiance.
  • Vérifiez la date de dernière mise a jour d’un module avant de l’installer. Un module non maintenu depuis plus d’un an est un risque.
  • Activez les notifications de mise a jour dans votre back-office PrestaShop.

Configurer SSL/TLS et forcer HTTPS partout

En 2026, un site e-commerce sans HTTPS n’a tout simplement pas sa place en ligne. Le certificat SSL/TLS chiffre les échanges entre le navigateur de vos clients et votre serveur, protégeant ainsi les mots de passe, les données personnelles et les informations de paiement.

Installer un certificat SSL

La plupart des hébergeurs proposent des certificats Let’s Encrypt gratuits. Si ce n’est pas le cas, vous pouvez l’installer manuellement :

# Installation via Certbot (sur un serveur Debian/Ubuntu avec Apache)
sudo apt-get update
sudo apt-get install certbot python3-certbot-apache
sudo certbot --apache -d votre-domaine.fr -d www.votre-domaine.fr

Forcer HTTPS dans PrestaShop

Une fois le certificat installé :

  1. Allez dans Paramètres de la boutique > Général
  2. Activez “Activer le SSL” et “Activer le SSL sur toutes les pages”
  3. Enregistrez

Ajoutez ensuite une redirection permanente dans votre fichier .htaccess a la racine de PrestaShop :

# Redirection HTTP vers HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Vérifications complémentaires

  • Testez votre configuration SSL sur SSL Labs : visez un score A ou A+
  • Assurez-vous que toutes les ressources (images, scripts, CSS) sont chargées en HTTPS pour éviter les alertes de contenu mixte
  • Configurez l’en-tête HSTS (HTTP Strict Transport Security) pour interdire définitivement les connexions non chiffrées :
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Renforcer la sécurité de l’accès administrateur

Le back-office PrestaShop est la cible principale des attaquants. Un accès administrateur compromis donne un contrôle total sur votre boutique, vos données et votre serveur.

Modifier l’URL d’administration

Par défaut, le dossier d’administration de PrestaShop se nomme admin suivi d’un suffixe aléatoire. Mais beaucoup de marchands le laissent trop prévisible.

Comment renommer le dossier admin :

  1. Accédez a votre serveur en FTP ou SSH
  2. Renommez le dossier admin*** en quelque chose de difficile a deviner (ex : gestion-x8k2m9)
  3. PrestaShop détecte automatiquement le changement

Évitez les noms comme admin, backoffice, gestion, bo ou toute variante évidente.

Imposer des mots de passe forts

Un mot de passe faible, c’est une porte ouverte. Imposez les règles suivantes pour tous les comptes administrateurs :

  • Minimum 14 caractères (longueur > complexité)
  • Mélange de majuscules, minuscules, chiffres et caractères spéciaux
  • Un mot de passe unique par service : ne réutilisez jamais un mot de passe
  • Utilisez un gestionnaire de mots de passe (Bitwarden, 1Password, KeePass)

Activer l’authentification a deux facteurs (2FA)

PrestaShop 8.x supporte la 2FA via des modules dédiés. C’est une protection indispensable : même si un attaquant obtient votre mot de passe, il ne pourra pas se connecter sans le second facteur.

Installez un module 2FA compatible avec les applications TOTP (Google Authenticator, Authy, FreeOTP) et rendez son utilisation obligatoire pour tous les comptes administrateurs.

Restreindre l’accès par adresse IP

Si vous et votre équipe travaillez depuis des adresses IP fixes, vous pouvez restreindre l’accès au back-office dans le fichier .htaccess du dossier admin :

# Restreindre l'accès au back-office par IP
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.0$
    RewriteCond %{REMOTE_ADDR} !^987\.654\.321\.0$
    RewriteRule ^(.*)$ - [F,L]
</IfModule>

Remplacez les adresses IP par les vôtres. Cette mesure bloque toute tentative de connexion depuis une IP non autorisée, même avec les bons identifiants.

Permissions de fichiers et durcissement serveur

La configuration du serveur est un aspect souvent négligé de la sécurité. Des permissions de fichiers trop permissives ou un serveur mal configuré offrent des portes d’entrée aux attaquants.

Permissions de fichiers correctes

Voici les permissions recommandées pour une installation PrestaShop :

# Permissions sur les dossiers : lecture + exécution pour le propriétaire et le groupe
find /var/www/prestashop -type d -exec chmod 755 {} \;

# Permissions sur les fichiers : lecture + écriture pour le propriétaire uniquement
find /var/www/prestashop -type f -exec chmod 644 {} \;

# Le fichier de configuration doit être en lecture seule
chmod 444 /var/www/prestashop/app/config/parameters.php

# Les dossiers d'upload nécessitent l'écriture
chmod 775 /var/www/prestashop/img
chmod 775 /var/www/prestashop/upload
chmod 775 /var/www/prestashop/download
chmod 775 /var/www/prestashop/var/cache
chmod 775 /var/www/prestashop/var/logs

Le principe est simple : accordez le minimum de permissions nécessaire au bon fonctionnement de la boutique.

Désactiver le listing de répertoires

Par défaut, Apache peut afficher le contenu d’un répertoire qui ne contient pas de fichier index. C’est une fuite d’informations qui permet a un attaquant de cartographier l’arborescence de votre site.

Ajoutez dans votre fichier .htaccess a la racine :

# Désactiver le listing de répertoires
Options -Indexes

Protéger les fichiers sensibles

Certains fichiers ne doivent jamais être accessibles depuis un navigateur :

# Bloquer l'accès aux fichiers sensibles
<FilesMatch "\.(sql|log|txt|md|yml|yaml|json|xml|env|ini|bak|old|dist)$">
    Require all denied
</FilesMatch>

# Protéger le fichier de configuration
<Files "parameters.php">
    Require all denied
</Files>

# Bloquer l'accès au dossier var/
<IfModule mod_rewrite.c>
    RewriteRule ^var/ - [F,L]
    RewriteRule ^app/config/ - [F,L]
    RewriteRule ^vendor/ - [F,L]
</IfModule>

Sécuriser les en-têtes HTTP

Les en-têtes de sécurité HTTP ajoutent une couche de protection supplémentaire contre plusieurs types d’attaques :

# En-têtes de sécurité
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
Header set Permissions-Policy "geolocation=(), microphone=(), camera=()"

Ces en-têtes empêchent notamment le clickjacking, le MIME sniffing et contribuent a atténuer les attaques XSS.

Se protéger contre les attaques courantes

Les boutiques PrestaShop font face a plusieurs types d’attaques récurrentes. Comprendre ces menaces permet de s’en prémunir efficacement.

Injection SQL

L’injection SQL consiste a insérer du code SQL malveillant dans les formulaires ou les URL de votre site pour accéder a la base de données, modifier des informations ou extraire des données clients.

Comment s’en protéger :

  • Mettez a jour PrestaShop et vos modules : les failles d’injection SQL sont corrigées en priorité
  • Utilisez exclusivement les classes PrestaShop (Db::getInstance(), pSQL(), bqSQL()) dans vos développements sur mesure
  • Ne concaténez jamais de variables directement dans vos requêtes SQL
  • Activez le mode préparé (prepared statements) dans vos requêtes personnalisées

Cross-Site Scripting (XSS)

Les attaques XSS injectent du code JavaScript malveillant dans les pages de votre boutique, permettant de voler les sessions utilisateurs, rediriger vers des sites frauduleux ou modifier le contenu affiché.

Comment s’en protéger :

  • Utilisez les fonctions d’échappement PrestaShop (Tools::safeOutput(), Tools::htmlentitiesUTF8()) dans vos templates et modules
  • Configurez l’en-tête Content-Security-Policy pour restreindre les sources de scripts autorisées
  • Validez et assainissez toutes les entrées utilisateur côté serveur, jamais uniquement côté client

Cross-Site Request Forgery (CSRF)

Le CSRF force un utilisateur connecté a exécuter des actions a son insu (modification de mot de passe, commande frauduleuse, etc.).

PrestaShop intègre nativement des tokens anti-CSRF dans ses formulaires. Assurez-vous que vos modules sur mesure les utilisent correctement et que vous n’avez pas désactivé cette protection.

Attaques par force brute

Les bots tentent automatiquement des milliers de combinaisons identifiant/mot de passe sur votre page de connexion administrateur.

Solutions :

  • Limitez le nombre de tentatives de connexion : un module comme “Login Guard” ou “Brute Force Protection” bloque l’accès après un certain nombre d’échecs
  • Installez fail2ban sur votre serveur pour bloquer automatiquement les IP suspectes :
# Configuration fail2ban pour PrestaShop (fichier /etc/fail2ban/jail.local)
[prestashop-admin]
enabled = true
port = http,https
filter = prestashop-admin
logpath = /var/www/prestashop/var/logs/admin_login.log
maxretry = 5
findtime = 600
bantime = 3600
  • Utilisez un WAF (Web Application Firewall) comme Cloudflare, Sucuri ou ModSecurity pour filtrer le trafic malveillant avant qu’il n’atteigne votre serveur

Stratégie de sauvegarde robuste

Une sauvegarde fiable est votre dernier rempart. Si toutes les autres mesures échouent, une bonne sauvegarde vous permet de restaurer votre boutique rapidement et de limiter les dégâts.

Ce qu’il faut sauvegarder

Votre stratégie doit couvrir deux éléments distincts :

  1. La base de données : contient les produits, clients, commandes, configuration
  2. Les fichiers : code source, thème, modules, images, documents

Automatiser les sauvegardes

Ne comptez jamais sur des sauvegardes manuelles. Automatisez le processus avec un script cron :

#!/bin/bash
# Script de sauvegarde automatique PrestaShop
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_DIR="/home/backups/prestashop"
SITE_DIR="/var/www/prestashop"
DB_NAME="prestashop_db"
DB_USER="prestashop_user"
DB_PASS="votre_mot_de_passe"

# Sauvegarde de la base de données
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/db_$DATE.sql.gz

# Sauvegarde des fichiers
tar -czf $BACKUP_DIR/files_$DATE.tar.gz -C $SITE_DIR .

# Suppression des sauvegardes de plus de 30 jours
find $BACKUP_DIR -name "*.gz" -mtime +30 -delete

Planifiez ce script dans le crontab pour une exécution quotidienne :

# Sauvegarde tous les jours a 3h du matin
0 3 * * * /home/scripts/backup-prestashop.sh >> /var/log/backup-prestashop.log 2>&1

La règle du 3-2-1

Appliquez la règle de sauvegarde 3-2-1 :

  • 3 copies de vos données
  • Sur 2 supports différents (serveur local + cloud)
  • Dont 1 copie hors site (stockage distant : AWS S3, Backblaze B2, Google Cloud Storage)

Tester vos restaurations

Une sauvegarde que vous n’avez jamais testée n’est pas une sauvegarde. Planifiez un test de restauration complet au moins une fois par trimestre. Vérifiez que la base de données se restaure correctement et que le site fonctionne normalement sur un environnement de test.

Monitoring et alertes

La sécurité n’est pas un état, c’est un processus continu. Vous devez surveiller votre boutique en permanence pour détecter rapidement toute anomalie.

Surveillance de la disponibilité

Utilisez un service de monitoring d’uptime comme UptimeRobot, Hetrix Tools ou Pingdom pour être alerté immédiatement en cas d’indisponibilité de votre site. Configurez des vérifications toutes les 5 minutes avec des alertes par email et SMS.

Surveillance de l’intégrité des fichiers

Un fichier modifié sans intervention de votre part est un signe d’intrusion. Mettez en place une surveillance de l’intégrité des fichiers critiques :

# Générer un hash de référence des fichiers critiques
find /var/www/prestashop -type f \( -name "*.php" -o -name "*.js" \) -exec md5sum {} \; > /home/security/reference_hashes.txt

# Comparer périodiquement avec l'état actuel
find /var/www/prestashop -type f \( -name "*.php" -o -name "*.js" \) -exec md5sum {} \; > /home/security/current_hashes.txt
diff /home/security/reference_hashes.txt /home/security/current_hashes.txt

Automatisez cette vérification via un cron quotidien et envoyez une alerte si des différences sont détectées.

Analyse des logs

Les logs de votre serveur contiennent des informations précieuses pour détecter les tentatives d’attaque :

  • Logs d’accès Apache/Nginx : identifiez les requêtes suspectes (scans de vulnérabilités, tentatives d’accès a des fichiers sensibles)
  • Logs d’erreurs PHP : des erreurs inhabituelles peuvent signaler une tentative d’exploitation
  • Logs PrestaShop : consultez régulièrement les logs dans /var/logs/ de votre installation

Un site e-commerce bien sécurisé est aussi un site performant. La surveillance va de pair avec l’optimisation des performances, car les anomalies de performance peuvent aussi révéler des problèmes de sécurité (scripts malveillants consommant des ressources, par exemple).

Que faire si votre boutique a été piratée

Malgré toutes les précautions, personne n’est a l’abri. Si vous suspectez une compromission, voici la procédure a suivre, dans l’ordre :

1. Isoler le site

  • Mettez votre boutique en maintenance immédiatement pour empêcher les visiteurs d’être exposés a du contenu malveillant
  • Si possible, coupez l’accès public au serveur tout en conservant un accès SSH

2. Évaluer l’ampleur des dégâts

  • Vérifiez les fichiers modifiés récemment :
# Lister les fichiers PHP modifiés dans les 7 derniers jours
find /var/www/prestashop -name "*.php" -mtime -7 -ls
  • Examinez les logs d’accès pour identifier le vecteur d’attaque
  • Vérifiez si des comptes administrateurs inconnus ont été créés
  • Contrôlez la base de données : recherchez des entrées suspectes, notamment dans les tables ps_employee et ps_configuration

3. Nettoyer et restaurer

  • Si vous disposez d’une sauvegarde propre récente, restaurez-la sur un environnement de test
  • Comparez les fichiers actuels avec les fichiers d’origine de PrestaShop pour identifier le code injecté
  • Changez tous les mots de passe : comptes admin, base de données, FTP, SSH, hébergeur
  • Régénérez les clés de sécurité dans le fichier parameters.php

4. Corriger la faille exploitée

La restauration seule ne suffit pas. Il faut identifier et corriger la vulnérabilité qui a permis l’attaque, sous peine de se faire pirater a nouveau dans les heures qui suivent.

  • Identifiez le module ou le fichier vulnérable a partir des logs
  • Mettez a jour ou supprimez le composant responsable
  • Appliquez les mesures de durcissement décrites dans ce guide

5. Obligations légales

Si des données personnelles ont été compromises, le RGPD vous impose de :

  • Notifier la CNIL dans les 72 heures suivant la découverte de la fuite
  • Informer les personnes concernées si le risque pour leurs droits est élevé
  • Documenter l’incident : nature de la faille, données exposées, mesures correctives

Ne prenez pas ce volet a la légère. Les sanctions pour non-notification sont sévères.

Conclusion : la sécurité est un investissement, pas une dépense

Sécuriser votre boutique PrestaShop demande du temps et des compétences, mais c’est un investissement largement rentable comparé au coût d’une faille de sécurité : perte de chiffre d’affaires, atteinte a la réputation, sanctions RGPD, frais de remédiation.

Les mesures présentées dans ce guide couvrent l’essentiel : mises a jour rigoureuses, chiffrement SSL, accès administrateur verrouillé, serveur durci, protection contre les attaques courantes, sauvegardes solides et surveillance continue. Certaines sont rapides a mettre en place (changer l’URL admin, activer HTTPS), d’autres demandent une expertise technique plus poussée (configuration fail2ban, WAF, audit de modules).

Si vous n’êtes pas certain de l’état de sécurité de votre boutique, je vous recommande de commencer par un audit complet. C’est ce que je propose a chacun de mes clients avant toute intervention.


Votre boutique PrestaShop est-elle vraiment sécurisée ? En tant que développeur freelance spécialisé PrestaShop depuis 8 ans, j’accompagne les e-commercants dans la sécurisation et la maintenance de leur boutique. Demandez votre audit gratuit : je passe en revue la sécurité, la performance et la configuration de votre site, et je vous remets un rapport détaillé avec les actions prioritaires.

A lire aussi

Articles similaires

Disponible pour de nouveaux projets

Vous avez un projet PrestaShop ?

Discutons de votre projet. Premier échange gratuit et sans engagement pour comprendre vos besoins et vous proposer la meilleure solution.