Problème session php [espace membre]
Résolu/Fermé
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
-
3 juin 2008 à 16:11
winco07 Messages postés 117 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012 - 5 juin 2008 à 15:15
winco07 Messages postés 117 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 5 octobre 2012 - 5 juin 2008 à 15:15
A voir également:
- Problème session php [espace membre]
- Espace insécable word - Guide
- Comment liberer de l'espace sur gmail - Guide
- Membre indisponible vinted - Guide
- Easy php - Télécharger - Divers Web & Internet
- Espace stockage google - Guide
5 réponses
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
3 juin 2008 à 18:36
3 juin 2008 à 18:36
Bonjour.
plus rien ne marche
Ca veut dire ?
La page web ne s'affiche pas ? Il y a un message d'erreur ?
Si tu ne donnes pas plus de précisions, on ne pourra rien faire pour toi...
Au passage (rien à voir avec ton erreur) :
- Ton système de récupérer toutes les lignes de ta table, pour les comparer aux informations récupérées, c'est OK parce que tu n'as que 2 membres. Mais dans la vraie vie c'est le genre de truc à te couler ton site.
- Il vaut mieux éviter de stocke les Mots de Passe en clair dans ta table. Stocke plutôt le md5 (par exemple), et compare-le à md5($_POST['Password']).
- Dans la vraie vie, tu risques de te retrouver face à des hackers. Prends tout de suite l'habitude de protéger tes variables (tu peux trouver pas mal de tutoriels sur la sécurité par google)
plus rien ne marche
Ca veut dire ?
La page web ne s'affiche pas ? Il y a un message d'erreur ?
Si tu ne donnes pas plus de précisions, on ne pourra rien faire pour toi...
Au passage (rien à voir avec ton erreur) :
- Ton système de récupérer toutes les lignes de ta table, pour les comparer aux informations récupérées, c'est OK parce que tu n'as que 2 membres. Mais dans la vraie vie c'est le genre de truc à te couler ton site.
- Il vaut mieux éviter de stocke les Mots de Passe en clair dans ta table. Stocke plutôt le md5 (par exemple), et compare-le à md5($_POST['Password']).
- Dans la vraie vie, tu risques de te retrouver face à des hackers. Prends tout de suite l'habitude de protéger tes variables (tu peux trouver pas mal de tutoriels sur la sécurité par google)
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
4 juin 2008 à 08:50
4 juin 2008 à 08:50
Bonjour a vous deux,
J ai bien pris note de toutes les infos données, je vais éssayé de voir aujourd'hui pour crypté mes variables.
- Pour la récupération des données j ai bien compris mais c'est vrai que j ignorais si l'on pouvait récupéré que quelques données.
- Pour la récupération de données dans des variables j'ai fait plusieur test avec et sans variable (d'où les variables inutilisé).
-En ce qui concerne l'eurreur généré lorsque j'éfféctue mon script il s'agit pas rééllement d'une eurreur le pseudo n'est pas transmi j ai l impression car quand je fait un 'echo $MonPass' j'arrive a voir le mot de passe mais cela ne fonctionne pas avec 'echo $MonLogin'.
En tout cas merci et je sais où vous trouvez si j' ai un souci
Winco07
J ai bien pris note de toutes les infos données, je vais éssayé de voir aujourd'hui pour crypté mes variables.
- Pour la récupération des données j ai bien compris mais c'est vrai que j ignorais si l'on pouvait récupéré que quelques données.
- Pour la récupération de données dans des variables j'ai fait plusieur test avec et sans variable (d'où les variables inutilisé).
-En ce qui concerne l'eurreur généré lorsque j'éfféctue mon script il s'agit pas rééllement d'une eurreur le pseudo n'est pas transmi j ai l impression car quand je fait un 'echo $MonPass' j'arrive a voir le mot de passe mais cela ne fonctionne pas avec 'echo $MonLogin'.
En tout cas merci et je sais où vous trouvez si j' ai un souci
Winco07
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
5 juin 2008 à 11:42
5 juin 2008 à 11:42
Bonjour ...
Depuis deux jours que je travaille sur le sujet je me vois dans l'obligation de refaire appel a vous ...
Chui un boulet lol.
Je vous éxplique depuis mardi j'ai regardé le systéme de sécurité md5, j'ai fait quelques test ducoup je l'ai intégré
a mon développement.
J'ai aussi rajouté un systéme de redirection.
Jusque la pas de souci.
Le souci est le suivant :
Lorsque je veux tésté mon login celui ci plante il me sort des erreurs et le pire c'est que c'est pas toujours a la même ligne.
(erreur : limite de temps de 30 s dépassé).
La page de formulaire n'a pa changé mis apart la variable "pseudo" qui devient "Login".
je joins la novelle page de récéption et traitement des données :
Merci par avance pour votre aide
Winco07
Depuis deux jours que je travaille sur le sujet je me vois dans l'obligation de refaire appel a vous ...
Chui un boulet lol.
Je vous éxplique depuis mardi j'ai regardé le systéme de sécurité md5, j'ai fait quelques test ducoup je l'ai intégré
a mon développement.
J'ai aussi rajouté un systéme de redirection.
Jusque la pas de souci.
Le souci est le suivant :
Lorsque je veux tésté mon login celui ci plante il me sort des erreurs et le pire c'est que c'est pas toujours a la même ligne.
(erreur : limite de temps de 30 s dépassé).
La page de formulaire n'a pa changé mis apart la variable "pseudo" qui devient "Login".
je joins la novelle page de récéption et traitement des données :
<!--pagePasse.php--> <html> <head> <title>Accés page sécurisé</title> <link rel ="stylesheet" type="text/css" href="background.css"> </head> <body> <?php include('connect.php'); $query=mysql_query("select Pass, Login from Membres"); $ligne=mysql_fetch_array($query); $trouver = false; if ($_POST['Login'] == '') { if (md5($_POST['Password'] == '')) { While ($trouver == false) { if (md5($ligne['Pass']) == md5($_POST['Password'])) { header('Location: sommaire.html'); $trouver = true; break; } Else { $ligne=mysql_fetch_array($query); $trouver = false; } } If ($trouver == false) { echo'Mot de passe ou login invalide'; ?> <a href ="frmPagePasse.php"> Se reconnecter </a> <?php break; } else header ('location: frmPagePasse.php?msg=Merci de renseigner tous les champs'); } else header ('location: frmPagePasse.php?msg=Merci de renseigner tous les champs'); } mysql_close(); ?> </body> </html>
Merci par avance pour votre aide
Winco07
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
5 juin 2008 à 13:57
5 juin 2008 à 13:57
Re.
Déjà, il y a un problème dans ta boucle WHILE :
- Si le md5(MotDePasseEnvoyé) = md5(MotDePasseDansLaBase) => Pas d eproblème (tu sors de la boucle).
- Mais si tu te plantes dans le mot de passe, tu auras toujours md5(MotDePasseEnvoyé) <> md5(MotDePasseDansLaBase), et du coup jamais tu ne sortiras de ta boucle...
Accessoirement :
- Dans le cas d'une corrsepondance, ça ne sert à rien de faire un break (tu passes $trouver à true, donc tu sors de ta boucle).
- Tu stockes quoi, dans ta base ?
Parce que là
- Affine ta requête :
Déjà, il y a un problème dans ta boucle WHILE :
- Si le md5(MotDePasseEnvoyé) = md5(MotDePasseDansLaBase) => Pas d eproblème (tu sors de la boucle).
- Mais si tu te plantes dans le mot de passe, tu auras toujours md5(MotDePasseEnvoyé) <> md5(MotDePasseDansLaBase), et du coup jamais tu ne sortiras de ta boucle...
Accessoirement :
- Dans le cas d'une corrsepondance, ça ne sert à rien de faire un break (tu passes $trouver à true, donc tu sors de ta boucle).
- Tu stockes quoi, dans ta base ?
Parce que là
(md5($ligne['Pass']) == md5($_POST['Password']))ça veut dire que tu stockes le mot de passe en clair dans ta base (et comparer les md5 n'a pas d'intérêt). Si tu stockes les md5(mots de passe), à ce moment là il faut comparer
($ligne['Pass'] == md5($_POST['Password']))
- Affine ta requête :
$query=mysql_query("select Pass, Login from Membres where Login = $_POST['Login']");. tu ne récupèreras que la ligne correspondant au Login (ça t'évite de te palucher tous les enregistrements de ta table pour rien).
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
5 juin 2008 à 14:35
5 juin 2008 à 14:35
re
Ce que j ai voulu faire c'est en claire :
Tester si il y avait quelque chose dans mes variables
Le while signifie que tant que le booleen n'est pas a vrai on ne sort pas de la boucle
le "if" (md5($ligne['Pass']) == md5($_POST['Password'])) veut dire que si les mots de passes concordent on est redirigé vers une autre page sinon on passe a la ligne suivante.
2.)Mes mots de passes sont bien stocké en claire mais je ne trouve pas le moyen de les cryptés dans ma base mais ca je finirais bien par trouvé.
3.)Merci pour la requéte je n y avais vraiment pas pensé.
Ce que j ai voulu faire c'est en claire :
Tester si il y avait quelque chose dans mes variables
Le while signifie que tant que le booleen n'est pas a vrai on ne sort pas de la boucle
le "if" (md5($ligne['Pass']) == md5($_POST['Password'])) veut dire que si les mots de passes concordent on est redirigé vers une autre page sinon on passe a la ligne suivante.
2.)Mes mots de passes sont bien stocké en claire mais je ne trouve pas le moyen de les cryptés dans ma base mais ca je finirais bien par trouvé.
3.)Merci pour la requéte je n y avais vraiment pas pensé.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
>
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
5 juin 2008 à 14:55
5 juin 2008 à 14:55
Le while signifie que tant que le booleen n'est pas a vrai on ne sort pas de la boucle
Oui, mais SI le login envoyé est mauvais, le booléen ne passera jamais à TRUE et tu restes dans la boucle jusqu'à épuisement ! Au minimum, rajoute une condition à ton while
Comme ça, au pire, quand tu as fini de scanner ta table, tu sors quand-même...
2.)Mes mots de passes sont bien stocké en claire mais je ne trouve pas le moyen de les cryptés dans ma base mais ca je finirais bien par trouvé.
Pour les coder dans la table il "suffit" de rajouter le md5(motdepasse) dans ton INSERT.
Et si tu as déjà alimenté ta table :
1. Fais une sauvegarde de la table.
2. Crée une page php du genre :
C'est juste pour voir la logique du truc, hein... C'est à adapter selon tes données (il faudrait sans doute aussi faire des contrôles de sécurité...)
Oui, mais SI le login envoyé est mauvais, le booléen ne passera jamais à TRUE et tu restes dans la boucle jusqu'à épuisement ! Au minimum, rajoute une condition à ton while
WHILE ( (!$trouver) AND ( $ligne=mysql_fetch_array($query) ) { ... }
Comme ça, au pire, quand tu as fini de scanner ta table, tu sors quand-même...
2.)Mes mots de passes sont bien stocké en claire mais je ne trouve pas le moyen de les cryptés dans ma base mais ca je finirais bien par trouvé.
Pour les coder dans la table il "suffit" de rajouter le md5(motdepasse) dans ton INSERT.
Et si tu as déjà alimenté ta table :
1. Fais une sauvegarde de la table.
2. Crée une page php du genre :
<Connexion à la base> $query = mysql_query ("SELECT ID, MotDePasse from MaTable") or die ("Erreur de requête : ".mysql_error()); while ($result = mysql_fetch_array ($query)) { $update = mysql_query('UPDATE MaTable SET MotdePasse='.md5($result['MotDePasse']).' WHERE id='.$result['ID']) or die ("Erreur à la mise à jour : ".mysql_error()); }
C'est juste pour voir la logique du truc, hein... C'est à adapter selon tes données (il faudrait sans doute aussi faire des contrôles de sécurité...)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
winco07
Messages postés
117
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
5 octobre 2012
5 juin 2008 à 15:15
5 juin 2008 à 15:15
Merci pour tes conseils je vais regardé tout ca cet aprem et faire au mieu.
En tout cas merci pour ton aide.
En tout cas merci pour ton aide.
3 juin 2008 à 22:56
si tu ne les utilises pas apres ? Oo
de plus tu compars $_POST['pseudo']
alors que ton champs se nomme Pseudo ^^
attention a la casse :)