PrestaShop : infos et actus

Le sujet de la protection des thèmes Prestashop est déjà largement évoqué sur la toile, mais je n’ai pas trouvé de réponse claire et nette, voici ma solution !

Le problème : il est facile de télécharger les .tpl et autres éléments constitutifs d’un thème Prestashop.
La méthode : vous affichez le source d’une page du site et cherchez l’appel des feuilles de style. Dans l’URL de cet appel, vous trouverez le nom du thème. Ensuite, il suffit de lister le répertoire du thème et télécharger tous les éléments.

Première solution : Ajouter un index.php qui évite de pouvoir lister le répertoire du thème. C’est d’ailleurs la solution mis en place par Prestashop depuis la 1.3.

Mais cette solution ne corrige que partiellement le problème, en effet, les .tpl ayant des noms prédéfinis, exemple product.tpl, il reste assez simple de télécharger les fichiers clés, et ainsi de reconstituer la liste des éléments à télécharger.

Ma solution :
Ajouter une commande au .htaccess de la racine pour bloquer le téléchargement des .tpl

RewriteRule .*\.tpl$ / [R=301,L]

Attention, cette commande doit évidement être placée après l’activation du moteur de redirect, soit après la commande RewriteEngine on

8 réponses sur “Protéger les thèmes Prestashop”

Effectivement, les gabarits ne sont pas dans le document root, mais dans /Themes/nom_du_theme

Modifier le .htaccess de la racine permet de n’avoir à gérer qu’un unique .htaccess applicable pour tous les dossiers, et donc potentiellement tous les thèmes.

bonjour

quelle différence avec

Deny from all

et celui-ci RewriteRule .*\.tpl$ / [R=301,L]
le premier peut on le mettre dans le htaccess de la racine ?

et RewriteRule .*\.tpl$ / [R=301,L]

y a eu un ptit problème désoler je reformule

différence entre

Deny from all

et RewriteRule .*\.tpl$ / [R=301,L]

le premier peut on le mettre dans le htaccess de la racine ?

décidément je ne peut pas poster la ligne de code avec votre code sur le blog
le voici peut on le mettre sur le htaccess de la racine
Deny from all

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


La période de vérification reCAPTCHA a expiré. Veuillez recharger la page.