Articles - PHP

Site Web avec PHP et MySQL

  |   17971  |  PHP
Sommaire :

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
}
?>

 
Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons