"Cela n'arrive pas qu'aux autres"
Parfois vous ne souhaitez pas que votre theme.html et vos sources Smarty puissent être vues par tout le monde, peut-être pour l'une des raisons suivantes:
- Vous pensez que votre thême est si magnifique que vous ne souhaitez par qu'il soit copié (non, ce n'est pas possible), d'accord, au moins pas de façon si facile.
- Bien que connaissant la rêgle "séparer ceci de cela", vous avez du code PHP ou des requêtes SQL dans votre thême.
- Vous connaissez la cachette de Ben Laden et l'avez inscrite dans vos templates.
Ajouter une protection par mot de passe est facilement réalisable avec CPanel ou Plesk, que la plupart des hébergeurs proposent pour l'administration de sites. Choisissez "Web Protect" ou "Password Protect Directories", et maintenez le bouton de votre souris appuyé jusqu'á ce que vous arriviez au dossier que vous souhaitez mettre hors de portée des vilains garçons.
Déplacez vos trésors cachés
Créez un nouveau dossier dans votre répertoire de thême, disons "skins" sous "default". Déplacez-y vos fichiers theme.html et autres blocks templates et appliquez la protection par mot de passe. La raison pour laquelle nous protégeons "skins" au lieu de "default" est que nous avons des images et des feuilles de style á l'intérieur de "default". Ces fichiers doivent être accessibles á tout le monde.
Si nous conservons le fichier "skins" protégé, nous pouvons être assurés que les fichiers de thême ne pourront pas être ouverts de n'importe oùsur la Terre et cela ne perturbera pas le systême lorsqu'il souhaitera les lire, puisque les fichiers de template ne sont utilisés que pour le rendu en html et parsés par PHP en utilisant l'inclusion de fichier.
Placer une croix sur la carte
L'étape suivante consiste á créer un nouveau fichier theme.html dans le même dossier "default" et indiquer au systême de lire le "véritable" fichier de thême. Insérez le code suivant:<{include file="default/skins/theme.html"}>
Vous devrez également modifier le code dans votre véritable fichier theme.html relatif á vos blocs, quelque chose comme:<{include file="default/skins/theme_blockleft.html"}>
Pour aller plus loin
Using .htaccess Files with Apache par Ken Coar. Apprenez comment ajouter une protection web á partir de zéro, et autres sujets liés á la personnalisation des fichiers .htaccess.