Le .htaccess
Tuto original de FABRICE POTEC, revu par LionZion, Molokai et Raf en août 2004
Il est souvent intéressant de pouvoir
réserver l'accès à un répertoire
uniquement aux personnes munies d'un Login/Password,
ceci est facilement réalisable avec la
méthode de protection HTaccess
qui est sans doute la meilleure d'entre elles,
nous allons voir ici comment la mettre en
place. Avant de commencer vous devez savoir
que free.fr, a modifié cette protection, je
ferai donc un aparté les concernant. Quant à
Nexen, là c'est clair, il est impossible
d'utiliser cette méthode (ceci est vraiment
dommage).
Une protection HTaccess se compose de deux
fichiers nommés : .htaccess et .htpasswd.
Vous aurez noté que ces noms de fichiers
commencent par un point, sous windows vous ne
pourrez pas mettre ce point : créez donc les mêmes
fichiers mais sans point (vous pourrez les
mettre dans votre Client FTP plus tard côté
serveur).
Voici ci dessous ce que doivent contenir les
deux fichiers en question :
Le
fichier HTACCESS |
AuthUserFile
/usr/local/etc/httpd/htdocs/www.lesite.com/lerepertoire/.htpasswd
AuthGroupFile /dev/null
AuthName ByPassword
AuthType Basic
<limit GET>
require valid-user
</Limit> |
Ce
fichier contient les directives de
protection, la seule chose que vous
devez modifier c'est le chemin vers le fichier .htpasswd
: c'est le fichier qui contient les login
et password
des personnes qui sont autorisées à
lire le répertoire que vous voulez
protéger, c'est AuthUserFile
qui doit être modifié. La solution
de facilité est de tout simplement
demander à votre hébergeur le path,
puis de l'inscrire dans le fichier,
suivi du nom du répertoire où vous
allez placer .htpasswd.
Php propose également
une fonction qui peut vous permettre de
connaître ce path, cette fonction c'est
realpath().
Créez un fichier realpath.php
et mettez-y ce code : <? echo
realpath("index.php"); ?>
puis placez
ce fichier sur la racine de votre FTP.
Attention vous devez avoir un fichier
qui s'appelle "index.php"
sur cette même racine, si vous n'en
avez pas, donnez le nom d'un de vos
fichiers qui se trouve sur la racine
dans la syntaxe de <? echo
realpath("lefichier.php"); ?>.
Ensuite allez dans votre navigateur et
lancez le fichier
"realpath.php", vous aurez
alors un résultat de ce style :
/home/user/p/h/p/phpdebutant/www/index.php
Le
chemin de votre site est donc : /home/user/p/h/p/phpdebutant/www/,
il ne vous reste plus qu'à y mettre le
reste de votre chemin vers le fichier .htpasswd
, par exemple : /home/user/p/h/p/phpdebutant/www/membres/.htpasswd,
voilà vous avez votre AuthUserFile,
copiez-le dans .htaccess.
|
Le
fichier HTPASSWD |
Francis:Xfv46GgHz
Robert:FrgyHYJUJjj
Renée:FRZScgtHYk
|
C'est
donc dans ce fichier que sont stockés
les couples login/password
, vous constatez que les mots de passe
sont cryptés, il vous suffit
d'utiliser les fonction de cryptage
proposées par php pour obtenir un résultat identique
(consultez la documentation officielle).
Une fois crypté, vous ajoutez le login:password
sur la ligne du dessous et le tour est joué !
|
Une fois que vous avez créé vos deux
fichiers, il ne vous reste plus qu'à les
copier dans le répertoire que vous voulez
protéger via votre logiciel FTP Client (cuteFTP,
FTPexpert, etc).
La dernière chose importante à faire une
fois que vous avez placé les fichiers côté
serveur, c'est de les renommer en mettant les
points devant : .htaccess et .htpasswd.
Maintenant il vous reste plus qu'à vous
rendre dans votre navigateur et d'appeler
l'une des pages que vous avez mis dans le
répertoire protégé pour voir apparaître la
protection.
Concernant
free.fr :
-
Free a modifié son
script pour que les mots de passe ne
soient plus cryptés, en terme de
sécurité c'est n'importe quoi mais bon
que voulez-vous ?
-
Allez sur cette page pour
avoir toutes les infos de leur propre .htaccess
:
-
http://support.free.fr/pagesperso/scripts2.html
Concernant multimania.fr :
|