Site Web avec PHP et MySQL
Prot?gez un dossier avec .htacces
Cr?er le fichier .htacces
Cr?er un fichier avec le nom ".htacces" dans le dossier et mettez-y le contenu suivant :
Code :
AuthName "Entrez vos identifiants"
AuthType Basic
AuthUserFile "/home/site/www/admin/.htpasswd"
Require valid-user
AuthName : c'est le texte qui invitera l'utilisateur ? inscrire son login et son mot de passe. Vous pouvez personnaliser ce texte comme bon vous semble ;
AuthUserFile : c'est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le m?me r?pertoire que le .htaccess).
Pour trouver le chemin absolu d'un fichier, utilisez la fonction PHP realpath
Code PHP :
<?php echo realpath('fichier.php'); ?>
Cr?er le fichier .htpasswd
Le .htpasswd va contenir la liste des personnes autoris?es ? acc?der aux pages du dossier. On y inscrit une personne par ligne, sous cette forme :
Code :
login:mot_de_passe_crypt?
Pour crypter un mot de passe :
Code PHP :
<?php echo crypt('kangourou'); ?>
Ci-dessous une page php permettant de crypter automatiquement les mots de passe et d'afficher la ligne ? copier dans .htpasswd :
Code PHP :
<?php if (isset($_POST['login']) AND isset($_POST['pass'])) { $login = $_POST['login']; $pass_crypte = crypt($_POST['pass']); // On crypte le mot de passe echo '<p>Ligne ? copier dans le .htpasswd :<br />' . $login . ':' . $pass_crypte . '</p>'; } else // On n'a pas encore rempli le formulaire { ?> <p>Entrez votre login et votre mot de passe pour le crypter.</p> <form method="post"> <p> Login : <input type="text" name="login"><br /> Mot de passe : <input type="text" name="pass"><br /><br /> <input type="submit" value="Crypter !"> </p> </form> <?php } ?>