davidcian
Messages postés186Date d'inscriptionvendredi 18 novembre 2005StatutMembreDernière intervention19 décembre 2009
-
15 mars 2009 à 11:34
marcelolipi
Messages postés91Date d'inscriptionmercredi 15 novembre 2006StatutMembreDernière intervention25 juillet 2011
-
23 avril 2009 à 20:24
Bonjour,
Voila je voudrais pouvoir modifier a souhait un fichier ".htpasswd":
function updatehtpasswd($tab,$file){
//tab est un tableau n elements. chaque element a en indice 0 le username et //en 1 le mot de passe non crypté.
//file contient le chemin vers le fichier htpassw
$handle= fopen('./secu/.htpasswd','w');
if($handle){
$contenu="";
foreach($tab as $user){
//On séparre le login et le mot de passe
for($i = 0; $i < count($user); $i++) {
$separe_log_pass = explode(":", $user[$i]);
$contenu .= $separe_log_pass[0].":".$separe_log_pass[1]."\n";
}
}
//On ajoute l'utilisateur en cours
$contenu .= $_POST["username"].":".crypt($_POST["password"])."\n";
fwrite($handle,$contenu);
echo $contenu ;
fclose($handle);
}
}
$chaine_secu = file("./secu/.htpasswd");
//On découpe la chaine de caratére par \n
$log_pass = explode("\n", $chaine_secu);
updatehtpasswd($log_pass,$chaine_secu);
mais il y a une erreur car après exécution je récupère ça:
A:
AzRaEl:$1$sUQa2RxZ$2aoiIU0PoYnaIJj17lfhc0
Le nouveau compte c'est bien ajouté, mais les ancien....
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 16 mars 2009 à 12:18
Non tu n'as pas cafouillé ou tu le dis ... Ce qui se passe c'est que tu ouvre ton fichier en mode écriture simple et donc tout ce que tu ajoutes s'ajoute par dessus ce qu'il y avait ... C'est à dire qu'a chaque ajout, tout est supprimé et seul ton enregistrements est ajouté ... Je crois qu'il faut ouvrir ton fichier de la sorte :
$handle=fopen('./secu/.htpasswd','w+');
ou
$handle=fopen('./secu/.htpasswd','a');
Je sais plus trop ... de mémoire les deux fonctionnes ... sinon aucun ne fonctionne tu doit dabord ouvrir ton fichier en lecture ... récupérer les infos et les ajouter par la suite en meme temps que ton nouvel enregistrements ...