Notice: crypt()
Résolu
LaChaux78
Messages postés
585
Date d'inscription
Statut
Membre
Dernière intervention
-
LaChaux78 Messages postés 585 Date d'inscription Statut Membre Dernière intervention -
LaChaux78 Messages postés 585 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier .htpasswd qui donne accès à un site. Cela fonctionne bien mais j'ai une erreur. Si vous pouvez me dire pourquoi, je vous remercie.
Voici le script de ma page.
J'ai un fichier .htpasswd qui donne accès à un site. Cela fonctionne bien mais j'ai une erreur. Si vous pouvez me dire pourquoi, je vous remercie.
Notice: crypt(): No salt parameter was specified. You must use a randomly generated salt and a strong hash function to produce a secure hash. in
Voici le script de ma page.
$submit = !empty($_POST['submit']) ? $_POST['submit'] : NULL;
echo '<h1>Donner accès Partitions</h1>';
if($submit) {
$login = trim($_POST["login"]);
$passwd = trim($_POST["passwd"]);
// Ecrire dans le fichier des mots de passe
$hf = fopen("/home/cliquede/partitions/.htpasswd","a+");
fwrite($hf,"$login:".crypt("$passwd")."\n");
fclose($hf);
}
echo '<form name="setmdp" method="post" action="'.$_SERVER["PHP_SELF"].'" onsubmit="return verif();">';
echo '<table cellspacing="0" cellpadding="0">';
echo '<tr><td class="libel">login</td><td class="sais"><input type="text" name="login"></td></tr>';
echo '<tr><td class="libel">password</td><td class="sais"><input type="text" name="passwd"></td></tr>';
echo '<tr><td class="libel"> </td><td class="sais"><input type="submit" name="submit" value="Enregistrer" style="margin-top:5px"></td></tr>';
echo '</table>';
echo '</form>';
2 réponses
-
C'est un "notice" donc juste pour prévenir.
Dans l'idéal il faut, comme spécifié dans le message d'erreur, ajouter un SALT.
Il suffit de lire la doc pour savoir comment faire : https://www.php.net/manual/fr/function.crypt.php
-
Bonjour
J'ai essayé de m'inspirer du lien, déjà plus d'erreur mais je ne suis pas sur de moi, pouvez-vous me donner votre avis.
Je vous remercieif($submit) { $login = trim($_POST["login"]); $passwd = trim($_POST["passwd"]); $user_input = 'f?,j89-k0.;-!?lqjçs_di3%5a6_4jhfgh'; $pass_crypt = crypt($passwd, $user_input); // Ecrire dans le fichier des mots de passe $hf = fopen("/home/cliquede/partitions/.htpasswd","a+"); fwrite($hf,"$login: $pass_crypt\n"); fclose($hf); }