[PHP] Un mot de passe dans une session
Résolu/Fermé
A voir également:
- [PHP] Un mot de passe dans une session
- Voir mot de passe wifi android - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Identifiant et mot de passe - Guide
11 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
31 août 2009 à 22:22
31 août 2009 à 22:22
le principe de l'identification et de la zone membre avec les sessions:
- tu as une page de saisie de identif et mot de passe cette page apelle un script de login qui verifie si corrects par rapport a ceux stockés dans une BDD par exemple)
si ok ça ouvre la session par session_start();
et ça stocke une valeur dans une variable de session
$_SESSION['ma_var']="toto";
et ça renvoie sur la page d'accueil de la zone membre header('Location:accueil.php')
ensuite en début de CHAQUE page de la zone membre tu mets:
<?php
session_start();
if(!isset($_SESSION['ma_var']) || $_SESSION['ma_var']!="toto"){
header('Location:index.php'); si session non ouverte, on aiguille vers la page de saisie identif/mot de passe
}else{
//la partie html de la page
}
- tu as une page de saisie de identif et mot de passe cette page apelle un script de login qui verifie si corrects par rapport a ceux stockés dans une BDD par exemple)
si ok ça ouvre la session par session_start();
et ça stocke une valeur dans une variable de session
$_SESSION['ma_var']="toto";
et ça renvoie sur la page d'accueil de la zone membre header('Location:accueil.php')
ensuite en début de CHAQUE page de la zone membre tu mets:
<?php
session_start();
if(!isset($_SESSION['ma_var']) || $_SESSION['ma_var']!="toto"){
header('Location:index.php'); si session non ouverte, on aiguille vers la page de saisie identif/mot de passe
}else{
//la partie html de la page
}
Utilisateur anonyme
31 août 2009 à 22:30
31 août 2009 à 22:30
Merci Alain pour cette réponse, mais peut-être ne me suis-je pas exprimer clairement...
Je crois me souvenir que les sessions ne sont autres que des cookies stockés en local.
Ce dont j'ai peur c'est qu'un pirate s'introduise dans l'ordinateur du visiteur alors que ce dernier est connecté sur le site. Il a donc sur sont ordinateur 2 cookies : 1 avec le login et 1 avec le mot de passe. Le pirate n'a plus qu'à récupérer ces cookies pour entrer sous l'identité de notre visiteur.
Comment éviter ça ?
Merci d'avance
Je crois me souvenir que les sessions ne sont autres que des cookies stockés en local.
Ce dont j'ai peur c'est qu'un pirate s'introduise dans l'ordinateur du visiteur alors que ce dernier est connecté sur le site. Il a donc sur sont ordinateur 2 cookies : 1 avec le login et 1 avec le mot de passe. Le pirate n'a plus qu'à récupérer ces cookies pour entrer sous l'identité de notre visiteur.
Comment éviter ça ?
Merci d'avance
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
31 août 2009 à 22:44
31 août 2009 à 22:44
faux.
sessions et cookies sont deux choses differentes.
il ne faut pas stocker de mot de passe dans les cookies qui eux sont stockés sur l' ordinateur du visiteur.
Les sessions sont comme des cookies mais sont sur le serveur seulement et la sessions disparait lorsque l' utilisateur ferme son navigateur.
On associe alors le cookie a la session, mais le cookie est juste la pour rappeler la session, il ne contient pas de mot de passe.
sessions et cookies sont deux choses differentes.
il ne faut pas stocker de mot de passe dans les cookies qui eux sont stockés sur l' ordinateur du visiteur.
Les sessions sont comme des cookies mais sont sur le serveur seulement et la sessions disparait lorsque l' utilisateur ferme son navigateur.
On associe alors le cookie a la session, mais le cookie est juste la pour rappeler la session, il ne contient pas de mot de passe.
Utilisateur anonyme
31 août 2009 à 22:51
31 août 2009 à 22:51
Donc on peut sans danger mettre des mots de passe dans les sessions ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 sept. 2009 à 14:44
1 sept. 2009 à 14:44
Tu ne mets pas le mot de passe dans la variable de session
la valeur que tu y mets sert juste a vérifier que la session est ouvert tu peux y mettre n'importe quoi
identifiant et mot de passe sont vérifies par le script d'ouverture de session
la valeur que tu y mets sert juste a vérifier que la session est ouvert tu peux y mettre n'importe quoi
identifiant et mot de passe sont vérifies par le script d'ouverture de session
Utilisateur anonyme
1 sept. 2009 à 16:47
1 sept. 2009 à 16:47
Mais alors commet je fais pour savoir lequel de mes membre est connecté ?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
1 sept. 2009 à 16:56
1 sept. 2009 à 16:56
Alors tu peux mettre le pseudo en variable de session
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
1 sept. 2009 à 18:23
1 sept. 2009 à 18:23
Savoir quel membre est connecté, c' est une autre chose, qui va voir depuis combien de temps la session d' un membre qui est sur le serveur existe.
Les mots de passe, tu t' en fous royalement, puisqu' ils sont la bdd, personne les vois.
Les mots de passe, tu t' en fous royalement, puisqu' ils sont la bdd, personne les vois.
Utilisateur anonyme
2 sept. 2009 à 15:10
2 sept. 2009 à 15:10
Merci à tous les deux pour vos réponses,
Donc, pour conclure, dès que qqn ce connecte, on compare le cryptage mdp/bdd et le pseudo, si c'est bon, on créé une session uniquement avec le pseudo; puis à chaque fois que le visiteur arrive sur une page, on regarde s'il existe une session et si session=bdd, on peut afficher les privilèges. Il n'y pas de gros risque pirate pour cette technique ?
Donc, pour conclure, dès que qqn ce connecte, on compare le cryptage mdp/bdd et le pseudo, si c'est bon, on créé une session uniquement avec le pseudo; puis à chaque fois que le visiteur arrive sur une page, on regarde s'il existe une session et si session=bdd, on peut afficher les privilèges. Il n'y pas de gros risque pirate pour cette technique ?
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
2 sept. 2009 à 16:36
2 sept. 2009 à 16:36
Si piratage il y a , ca sera a cause d 'une faille ailleurs dans ta page.
l' utilisateur retre son mdp et pseudo
loading.....
dans la bdd, comparaison, deja si le pseudo existe, si oui, alors comparaison du mdp (crypté en md5, mais lui sait le traduire), si le mot de passe est bon, alors le serveur crée chez lui une session.
fais juste un
<?php
$_session start
echo 'votre pseudo';
echo $_session['pseudo'];
?>
Tu sauras tout de suite si ta session existe.
Desolé j' ai fait deux ou trois erreur d' ecriture php mais tu as la formule, tu n' a plus qu' az corriger
l' utilisateur retre son mdp et pseudo
loading.....
dans la bdd, comparaison, deja si le pseudo existe, si oui, alors comparaison du mdp (crypté en md5, mais lui sait le traduire), si le mot de passe est bon, alors le serveur crée chez lui une session.
fais juste un
<?php
$_session start
echo 'votre pseudo';
echo $_session['pseudo'];
?>
Tu sauras tout de suite si ta session existe.
Desolé j' ai fait deux ou trois erreur d' ecriture php mais tu as la formule, tu n' a plus qu' az corriger
Utilisateur anonyme
2 sept. 2009 à 22:12
2 sept. 2009 à 22:12
Et bien merci beaucoup graffx et Alain pour votre aide !! Voila qui résolue mon problème !
A bientôt et encore merci !
A bientôt et encore merci !