Bonjour à tous & à toutes,
Quand vous êtes en plein développement d'un site web en PHP, il peut être utile de protéger l'accès à ce répertoire, notamment pour la zone admin, ou afin de bloquer l'accès complet au site pour l'utilisateur. Et bien, aujourd'hui, je vais vous montrer comment faire cela à l'aide d'un fichier .htaccess.
Quand vous êtes en plein développement d'un site web en PHP, il peut être utile de protéger l'accès à ce répertoire, notamment pour la zone admin, ou afin de bloquer l'accès complet au site pour l'utilisateur. Et bien, aujourd'hui, je vais vous montrer comment faire cela à l'aide d'un fichier .htaccess.
Pour cela, il faudra créer 2 fichiers :
- Le .htaccess : qui permet de configurer quelques options, ainsi que d'indiquer l'adresse du fichier contenant les "login" et "mot e passe" d'accès au répertoire.
- Le .htpasswd : qui contient les "login" et les "mot de passe".
I - Créer le fichier .htpasswd
Pour cela, vous avez besoin d'un éditeur de texte, telle que SublimText 2, Notepad ++ ou bien le classique Bloc-Note.
A l'aide de l'éditeur de texte, créer donc un nouveau fichier. Ce dernier contiendra les login des personnes pouvant avoir accès au répertoire, ainsi que les mots de passe cryptés.
Il se présente sous la forme de :
login:mot_de_passe_crypté
Le cryptage est indéchiffrable, il ne permet que de crypter, et non l'inverse. Pour crypter votre mot de passe, il faudra utiliser une fonction PHP : crypt ( Nom très recherché
Il vous faut donc créer un nouveau fichier, que nous appellerons, crypt.php, et nous y inclurons la ligne suivante :
PHP:
<?php echo crypt('mot_de_passe'); ?>
Vous devez maintenant envoyé le fichier crypt.php sur un serveur, puis l'ouvrir avec votre navigateur, il vous donnera votre mot de passe crypté.
Une fois que vous avez votre mot de passe, copier le et ajoutez le dans le premier fichier que nous avons créé, toujours sous la forme :
login:mot_de_passe_crypté
Si vous souhaitez donner l'accès à plusieurs personnes, il faut ajoutez une ligne par utilisateurs :
login:mot_de_passe_crypté
login2:mot_de_passe_crypté
Une fois prêt, enregistrer ce fichier sous le nom de : ".htpasswd" ( N'oubliez pas le "." )
Voilà ! Votre fichier .htpasswd est prêt, envoyez le à présent sur votre FTP, dans le répertoire à protéger.
II - Créer le fichier . htaccess
Créer un nouveau fichier sous votre éditeur de texte, celui ci s'appellera : ".htaccess"
Collez y ce morceau de code, qui donnera des instructions au serveur, notamment l'adresse du fichier contenant les logins :
PHP:
AuthName "Accès protégé !"[/FONT][/LEFT]
[FONT=Georgia]
[LEFT]AuthType
BasicAuthUserFile "Chemin_absolu_au_fichier_.htpasswd"
Require valid-user
A la place de Chemin_absolu_au_fichier_.htpasswd, il faudra mettre le vrai chemin absolu, comment faire pour obtenir ce chemin absolu ! Et bien, nous allons de nouveau faire appel à un nouveau script PHP : realpath
Il faut donc créer un nouveau fichier, appelez-le absolu.php, et inscrivez y le code suivant :
Il faut donc créer un nouveau fichier, appelez-le absolu.php, et inscrivez y le code suivant :
PHP:
<?php echo realpath('absolu.php'); ?>
Envoyez ce fichier dans le répertoire où se trouve le .htpasswd, puis ouvrez le avec votre navigateur, il vous donnera le chemin absolu, qui peut être très différent selon les hébergeurs. Voici le mien :
"/home/site/WWW/tuto_rg/absolu.php"
Copiez le chemin que vous obtenez et placez le sur votre .htaccess, en remplaçant absolu.php par .htpasswd
Voilà, il ne vous reste plus qu'a envoyer votre fichier .htaccess sur votre serveur web !
J'espère que ce tutoriel plaira !
TosZ
"/home/site/WWW/tuto_rg/absolu.php"
Copiez le chemin que vous obtenez et placez le sur votre .htaccess, en remplaçant absolu.php par .htpasswd
Voilà, il ne vous reste plus qu'a envoyer votre fichier .htaccess sur votre serveur web !
J'espère que ce tutoriel plaira !
TosZ
Dernière édition: