bonjour à tous, je suis entrain de créer un système d'authentification par fichiers ( histoire de savoir le faire "à l'ancienne" sans bdd ).
J'ai sans soucis réussit à faire l'inscription,(création d'un dossier à son nom contenant un fichier infos.txt. ce fichier contient ceci : nom_utilisateur/hash_du_mdp

Voici le script que j'utilise pour créer le dossier et le fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
session_start();
extract($_POST);
	if(isset($login) && isset($password))
	{
		if($password == "")
		{
			header("location:http://www2.ras.fr/pied-de-page/telechargement/");
			exit;
		}
		if(!is_dir("../download/$login"))
		{
			if (!mkdir("../download/$login", 777, true))
			{
				die('Echec lors de la cr&eacute;ation des r&eacute;pertoires...');
			}
			if(!$fp=fopen("../download/$login/infos.txt","w"))
				die('Echec lors de la cr&eacute;ation du fichier...');
			else
			{
				if(!fputs($fp, $login."/"))
					echo'File wrinting error';
				else
					echo'inscription r&eacute;ussie. <a href="/pied-de-page/telechargement/"> Cliquez ici</a> pour acc&eacute;der aux t&eacute;l&eacute;chargement;';
				fputs($fp,hash("sha256",$password));
				fclose($fp);
				$_SESSION['User'] = $login;
			}
		}
		else
		{
			if($fp=fopen("../download/$login/infos.txt","r"))
			{
				$password = hash("sha256",$password);
				$acces = fread($fp,"1000");
				$acc = strchr($acces,"/");
				$acc = substr($acc,1,64);//ici le 64 donne le nb de caractère de la clé
				if($password == $acc)
				{
					$_SESSION['User'] = $login;
					header("location:http://www2.ras.fr/pied-de-page/telechargement/");
				}
				else
					echo'Bad password <a href="/pied-de-page/telechargement/">Cliquez ici</a> pour revenir au t&eacute;l&eacute;chargement'.$password.' '.$acc;
			}
			else
				echo "erreur d'ouverture du fichier";
		}
	}
	else
		echo'Vous devez rentrer 2 fois le même mot de passe.';
 
 
 
?>
Une fois connecté, on peut modifier son profil. Je veux juste permettre la modification du mot de passe j'ai donc fait ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
session_start();
define("SITE","http://www2.ras.fr/");
if(!isset($_SESSION['User']))
{
	header("location:http://www2.ras.fr");
}
else
{
	if(!isset($_POST['pcw']))
	{
		echo'<form method="POST" action="http://www2.ras.fr/wp-content/script-additionnels/profil.php"><p> Mot de passe : <input type="text" name="pcw" style="width:150px;"/></p><p><input type="submit" name="Submit" value="Enregistrer"</p></form>';
	}	
	else
	{
		$pcw = $_POST['pcw'];
		$login = $_SESSION['User'];
		echo $login.' ';
		if(!is_dir("/wp-content/download/$login/"))
		{
 
			if(!$fp=fopen("../wp-content/download/$login/infos.txt","w"))
				die(' Echec lors de l\'ouverture du fichier...');
			else
			{
				if(!fputs($fp, $login."/"))
					echo'File wrinting error';
				else
					echo'inscription r&eacute;ussie. <a href="/pied-de-page/telechargement/"> Cliquez ici</a> pour acc&eacute;der aux t&eacute;l&eacute;chargement;';
				fputs($fp,hash("sha256",$pcw));
				fclose($fp);
			 }
		}
		else
			echo'utilisateur introuvable';
	}
}
	?>
Il m'est impossible de comprendre pourquoi mais le die de la ligne 23 s'active à chaque fois : je n'arrive pas à ouvrir le fichier. Pourtant, si on regarde le code d'au dessus, le dossier a été créé avec les droits 777 et l'url est la même : je ne comprends pas