Protéger son site avec un .htaccess
- Créer un fichier php test.php contenant :
<?php echo $_SERVER['PATH_TRANSLATED']; ?>
Si jamais l'appel à la page échoue ou qu'elle est vide, remplacez par cette ligne :
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
- Placez sur votre serveur ce fichier, à l'endroit où vous comptez mettre votre fichier contenant les mots de passe (le fichier .htpasswd).
- Créer un fichier .htaccess contenant :
AuthUserFile /racine/.htpasswd
AuthName "Accès restreint"
AuthType Basic
require valid-user
- Dans ce même fichier, remplacez "/racine/" par l'adresse donnée par l'appel de la page test.php en y enlevant le nom du fichier test.
Exemple :
La page affiche : /home/aa/1234/test.php
On aura donc : AuthUserFile /home/aa/1234/.htpasswd
La création du fichier .htaccess étant terminée, il ne vous reste plus qu'à le placer dans le dossier où vous souhaitez voir apparaître la protection.
Attention ! Tous les sous-dossiers seront eux aussi protégés.
Création du fichier .htpasswd
Ce fichier contient la liste des identifiants autorisés.
La syntaxe est simple : identifiant:pass avec un seul identifiant/mot de passe par ligne.
Pour une protection accrue, vous pouvez crypter les mots de passe. Ainsi, même en cas d'intrusion dans votre fichier, les mots de passe seront inutilisables car cryptés.
- Supprimez le fichier test.php et envoyez dans le même répertoire, le fichier .htpasswd fraîchement créé.
Pour ceux qui hébergent leurs pages chez Free
1) Il faut remplacer la ligne
AuthUserFile /racine/.htpasswd
par
PerlSetVar AuthFile /racine/.htpasswd
2) Les mots de passe ne doivent pas être cryptés.
Conseil sécurité pour tous (non non, pas paranoïaque du tout) :
Isolez dans un répertoire non accessible en HTTP votre fichier .htpasswd ou isolez le dans un répertoire avec un fichier .htaccess contenant "deny from all" sans les guillemets.