[RESOLU] cookies mais qu'est ce que c'est que ces valeurs ?

Eléphant du PHP | 111 Messages

08 avr. 2021, 21:04

function chercheEmail($mail){
	$pdo = my_pdo_connexxion();
	$query = 'SELECT * FROM membres where email = "'.$mail.'" ;'; 
		try {
			$bdd_select = $pdo->prepare($query);
			$bdd_select->execute();
			$resultat=$bdd_select->fetchObject('user');
		} catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }	
	return ($resultat);
}
$resultat=chercheEmail($mail);
	foreach ($resultat as $key => $val) {
		if (!isset($_SESSION[$key]) || ($val !== $_SESSION[$key])) {
			$_SESSION[$key] = $val;
			setcookie($key, $val, time() + 365*24*3600, null, null, false, true);
		}
	}
En théorie les cookies et les sessions devraient être identique et pourtant :
echo "<pre>".print_r($_COOKIE). "</pre>";
			echo '<br/><br/><br/><br/><br/><br/>';
			echo "<pre>".print_r($_SESSION). "</pre>";
çà me donne ça :
Array ( [id] => 3 [username] => Didier [password] => 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4 [email] => ***[email protected] [passwordReset] => 100011494 [privilege] => INT [_sm_au] => Jq98f49hisLyLeQniGsq8rASR6UdmWpXMUwXdZx9OuI0T3AwzQdJEjxKqrdxNMcTUhowA0HyaAeYV1kXNODKSOWxqX69doc [PHPSESSID] => f81c6fb**************9346 )
1

Array ( [id] => 11 [username] => figuedi [password] => 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4 [email] => ***@gmail.com [passwordReset] => 100011494 [privilege] => INT )
1
déjà j'ai deux valeurs dans les cookies qui sont rentrés je ne sais pas comment et l'id et le username sont différents vu qu'ils sont rentrés au même moment je ne me l'explique pas

J'ai fait quoi comme bêtise ?

Merci d'avance

Eléphant du PHP | 111 Messages

08 avr. 2021, 21:08

OK Compris le setcookie ne rempli pas la variable cookie

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

08 avr. 2021, 21:13

Et sinon, pour des raisons de sécurité md5() ne doit plus jamais être utilisé : ton mot de passe c'est 1234, c'est dire si ton hash est faible ;-)
Par ailleurs, il n'y a normalement aucune raison valable qui puisse justifier que tu doives stocker le mot de passe ou son hash dans un cookie ou une session.
Tu vérifies la validité d'un mot de passe une seule fois et quand c'est le cas tu notes (dans un cookie ou une session) qu'il a été identifié correctement mais pas besoin d'y stocker un hash du mot de passe.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 111 Messages

08 avr. 2021, 21:27

oui le hash est faible, je sais mais comme je n'avais pas prévu de pouvoir changer le mot de passe je me suis d'abord penché sur ce probleme.
Maintenant si je reste inactif pendant 1 heure je suis obligé de me reconnecter et ça m'embete un peu donc je voulais passer pas le cookie
ce qui m'amene a ces deux variables "indésirables dans mes cookies : phpsessid qui doit etre un cookie de PHP peut etre normal ? et l'autre _sm_au il faut que je googelise pour savoir ce que c'est

Eléphant du PHP | 176 Messages

08 avr. 2021, 22:16

Bonsoir,

phpsessid c'est le cookie que créer php quand une session est crée.
Les données de session sont stockées dans un fichier qui porte cet identifiant sur le serveur
Cordialement
Naroth