Donner accès à un dossier

Résolu/Fermé
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - 8 juin 2019 à 00:17
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 - 8 juin 2019 à 17:04
Bonjour,
Je souhaite donner accès à certains membre à un dossier avec htaccess et htpasswd. Quelque chose qui me dépasse je vous donne mon script qui ne fonctionne pas et en dessous celui qui fonctionne. J'aimerai comprendre pourquoi si vous pouvez m'aider je vous remercie.
	if($submit) {
		$login  	= trim($_POST["login"]);
		$passwd 	= trim($_POST["passwd"]);
		
		$user_input = 'f?,j89-k0.;-!?lqjçs_di3%5a6_4jhfgh';
		$pass_crypt = md5($passwd, $user_input);
		
		// Ecrire dans le fichier des mots de passe
		$hf = fopen("/home/azerty/photos/.htpasswd","a+");
		fwrite($hf,"$login:".crypt("$pass_crypt")."\n");
		$success = "<span class='success'>Un nouveau Identifiant et Mot de passe a été créé pour l'accès aux Photos.</span>";
		fclose($hf);
	}

et celui-ci fonctionne bien
	if($submit) {
		$login  	= trim($_POST["login"]);
		$passwd 	= trim($_POST["passwd"]);
		
		// Ecrire dans le fichier des mots de passe
		$hf = fopen("/home/azerty/photos/.htpasswd","a+");
		fwrite($hf,"$login:".crypt("$passwd")."\n");
		$success = "<span class='success'>Un nouveau Identifiant et Mot de passe a été créé pour l'accès aux Photos.</span>";
		fclose($hf);
	}

5 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 juin 2019 à 08:46
Bonjour,
Et le souci se trouve où ?
Dans ton code php ? Tu as un message d'erreur ?
Peux tu expliquer en détail le souci constaté ??
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
8 juin 2019 à 08:59
Bonjour
Lorsque je cré le mot de passe avec le premier script impossible de se connecter comme si je renseignais un mot de passe invalide la fenêtre d’authentification reviens, par contre avec le script suivant tout se passe bien. Aucun message d'erreur.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 juin 2019 à 11:09
As tu essayé de créer le fichier htpassword à la main avec les mêmes password ?
Car si ça ne fonctionne pas non plus comme ça.... c'est que ton souci se situe dans le htpassword et non dans ton code php....

A moins que....... as tu regardé la documentation de la fonction md5 ???
Le second paramètre doit être TRUE ou FALSE ... et non une string...
Ton user_input.. c'est pour faire un SALT ??
Dans ce cas.. c'est un POINT qu'il faut utiliser.. et non une virgule.
$pass_crypt = md5($passwd . $user_input);
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
8 juin 2019 à 12:34
Bonjour
Alors voilà mon analyse. J'ai créé mon fichier htpasswd avec un mot de passe créé manuellement et cela fonctionne. Si ce même MDP je le génére avec mon script ça ne fonctionne pas. J'ai essayé également avec le point mais sans résultat. Merci
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 juin 2019 à 12:51
Est-ce que le fichier obtenu à la main est strictement identique à celui créé par le script ?colle nous une capture écran des deux fichiers...
0
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
8 juin 2019 à 14:34
Non en fait les deux mot de passe crypté ne sont pas identique. Mais je crois que je ne comprends pas ce que tu me demande.
Je vais essayé de plus détailler. J'ai mon formulaire comme ceux ci.
	if($submit) {
		$login  	= trim($_POST["login"]);
		$passwd 	= trim($_POST["passwd"]);
		
		$user_input = 'f?,j89-k0.;-!?lqjçs_di3%5a6_4jhfgh';
		$pass_crypt = md5($passwd.$user_input);
		
		// Ecrire dans le fichier des mots de passe
		$hf = fopen("/home/azerty/photos/.htpasswd","a+");
		fwrite($hf,"$login:".crypt("$pass_crypt")."\n");
		$success = "<span class='success'>Un nouveau Identifiant et Mot de passe a été créé pour l'accès aux Photos.</span>";
		fclose($hf);
	}

pour l'exemple le login c'est "photos" et le mot de passe c'est "photos" ce qui donne...
photos:$1$oDS7TMSe$x1lYm0wGmwu/GTWHunwKX1

Par contre si je génére le même mot de passe c'est à dire "photos" avec un générateur et que je le colle le mot de passe crypté dans mon fichier je peux me connecter.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 juin 2019 à 15:03
Tu as ajouté un SALT à ton password....
Donc si ton mot de passe es t: "photos" ... tu te retrouves avec
photosf?,j89-k0.;-!?lqjçs_di3%5a6_4jhfgh

Donc c'est un peu normal que ça ne fonctionne plus... non ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaChaux78 Messages postés 564 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 31 mars 2023 32
8 juin 2019 à 17:04
Ok je te remercie, je ne savais pas que cela allais me créé autant d’ennuis. Mais après réflexion c'est logique.
Merci donc je reste comme cela.
	if($submit) {
		$login  	= trim($_POST["login"]);
		$passwd 	= trim($_POST["passwd"]);
		
		// Ecrire dans le fichier des mots de passe
		$hf = fopen("/home/azerty/photos/.htpasswd","a+");
		fwrite($hf,"$login:".crypt("$passwd")."\n");
		$success = "<span class='success'>Un nouveau Identifiant et Mot de passe a été créé pour l'accès aux Photos.</span>";
		fclose($hf);
	}
0