Par Matthieu, Fondateur.

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

16 thoughts

  1. 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.

  2. 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]

  3. 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 ?

Laissez un commentaire


*