M'sieu Sman Posté(e) le 18 juillet 2003 Posté(e) le 18 juillet 2003 Salut a tous, Comment fait on pour garder son login dans un site en php? c'est a dire ne pas renter son login à chaque fois qu'on charge une page. car a chaque fois que je change de page, il est demander de se réidentifier. Merci!
dadevil Posté(e) le 18 juillet 2003 Posté(e) le 18 juillet 2003 ça dépend comment tu souhaites que cela soit géré... server side ou client side ?
ran-tan-plan Posté(e) le 18 juillet 2003 Posté(e) le 18 juillet 2003 soit tu utilise les sessions soit tu fait simple comme moi et tu met des infos dans l'url. Moi je fais comme ca: chaque page verifie a l'aide de $_get["variable"] le password et l'id contenues dans l'url. il cherche un champ mysql ou ils sont les 2 et si il trouve pas il renvoie sur l'ecran de login ou il demande login/pwd
- etnica - Posté(e) le 18 juillet 2003 Posté(e) le 18 juillet 2003 ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL...
dadevil Posté(e) le 19 juillet 2003 Posté(e) le 19 juillet 2003 ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL... spour ça que je demandais s'il voulait faire ça coté serveur ou client, soit des sessions cryptés côté serveur ou alors un cookie avec mdp crypté côté client
ran-tan-plan Posté(e) le 19 juillet 2003 Posté(e) le 19 juillet 2003 ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL... je suis d'accord que pour une zone membre c'est pas bien de faire ca. Mais si tu fais un panneau d'administration pour ton site, je pense que tu ne cours aucun risque particulier. Ou alors t'as vraiment pas de bol.
- etnica - Posté(e) le 19 juillet 2003 Posté(e) le 19 juillet 2003 ...des sessions cryptés côté serveur... ...
ran-tan-plan Posté(e) le 19 juillet 2003 Posté(e) le 19 juillet 2003 j'ai une idée. Si tu utilise la fonction MD5(enfin je crois qu'elle s'appelle comme ca...), tu peux mettre le pwd crypté dans l'url sans risque car il est impossible de le décripter.
M'sieu Sman Posté(e) le 19 juillet 2003 Auteur Posté(e) le 19 juillet 2003 Je ne connais aucune méthode ni côté client, ni côté serveur. Je pense que le plus simple, ce serait de mettre un cookie, mais je ne sais pas comment faire. Pourriez-vous proposez une marche à suivre ou me donner l'adresse d'un site qui en proposerai une. Merci
M'sieu Sman Posté(e) le 19 juillet 2003 Auteur Posté(e) le 19 juillet 2003 Le site est . Il répond à plein de que je me posais
Marmotte Posté(e) le 19 juillet 2003 Posté(e) le 19 juillet 2003 J'ai essayé de faire ce qu'il prposer sur pour l'espace membre sur le site de phpdebutant. Tout marche bien sauf qu'il me met une erreur : Warning: Cannot send session cookie - headers already sent by (output started at h:newlogin.php:9) in h:newlogin.php on line 37 Warning: Cannot send session cache limiter - headers already sent (output started at h:newlogin.php:9) in h:newlogin.php on line 37 je ne sais pas à quoi cela correspond, ni comment la corriger.
Sentinel Posté(e) le 20 juillet 2003 Posté(e) le 20 juillet 2003 La commande d'envoi du cookie (setcookie) doit être la première de ton script PHP. Si tu as d'autres instructions avant, ou même du HTML, la commande ne fonctionnera pas. Donc, déplace ta ligne qui envoie le cookie et ça devrait fonctionner
Marmotte Posté(e) le 20 juillet 2003 Posté(e) le 20 juillet 2003 Voila la page qui ne marche pas, je peux pas faire plus court ou mettre la commande plus en haut. <html> <BODY> <? if($pass == passe) { session_start(); session_register('login'); echo 'Vous etes bien logué'; } ?> </body> </html>
Marmotte Posté(e) le 21 juillet 2003 Posté(e) le 21 juillet 2003 personne ne répond à ma question sniff
r.chatigré Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL... Il n'a pas dit de mettre le password! IMoi, j'utilise un numéro de session. J'ai une table Utilisateurs contenant: - login - mot de passe - numéro de dernière session - IP dernière session - date/heure de dernière activité de la dernière session Et dans l'URL je passe le numéro de la dernière session et le login. Au début de chaque page "sécurisée": je recherche dans la base le numéro de session. Je vérifie que l'IP et le login correspondent. Je compare la date à l'heure actuelle. Si cela dépasse x minutes, je demande à se reloguer, sinon je met à jour la date/heure dans la base et c'est tou bon! Du coup, si on attaque avec un numéro de session, il faut trouver le login correspondant. Si on a numéro de session et login, il faut avor le même IP. Si on a numéro de session, login et même IP, on m'a eu! Donc le mieux est d'être derrière le même NAT/proxy et de lire numéro de session et login.
r.chatigré Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 Voila la page qui ne marche pas, je peux pas faire plus court ou mettre la commande plus en haut. Il faut IMPERATIVEMENT que tu puisses mettre le code plus haut. Le code de début de ssion doit se trouver avant tout autre sortie! (code HTML ou texte). C'est contraignant mais c'est imposé, pas de solution autre.
Marmotte Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 Regarde le code de ma page et dis moi ou je peux le mettre. Il faut que je le mette dans les balises <head>? <html> <BODY> <? session_start(); session_register('login'); echo 'Vous etes bien logué'; ?> </body> </html> Si quelqu'un à un code qui marche, je suis preneuse parce que là je vois plus du tout comment je pourrais faire Merci d'avance
r.chatigré Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 Regarde le code de ma page et dis moi ou je peux le mettre. Il faut que je le mette dans les balises <head>? Il faut le mettre avant TOUT. <? session_start(); session_register('login'); echo 'Vous etes bien logué'; ?> <html> <BODY> </body> </html> Un petit exemple sur http://www.toutestfacile.com/phpinit.php?t...=sectionmembre4 Si quelqu'un à un code qui marche, je suis preneuse parce que là je vois plus du tout comment je pourrais faire Merci d'avance
Marmotte Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 ça marche je vais potasser le lien que tu m'as donner et voir si je peux en tirer quelque chose.
Marmotte Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 Bon le script marche c'est cool. mais le problème c'est qu'il ne fait pas ce que je voulais. Je voudrais que le login des membres passent de pages en pages sans avoir à le retaper a chaque fois. sur le site http://www.toutestfacile.com/phpinit.php?tef_site=php il propose quelquechose mais ça ne marche pas la variable ne passe pas de page en page. Bref ça marche pas
- etnica - Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL... Il n'a pas dit de mettre le password! Moi je fais comme ca: chaque page verifie a l'aide de $_get["variable"]] le password et l'id contenues dans l'url... Ceci dit ta solution est pas trop mal...
ran-tan-plan Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 moi je pense que si tu crypte ton password avec la fonction md5 tu cours pas trop de risque. En plus t'as meme pas besoin de mettre le login du gars. et en plus, si tu donne un nom rien a voir a la variable le gars il sait meme pas que c les id et password. genre index.php?a=123&r=m25asbes24525asfm25asbes24525asf ou 123 est l'id et le grand truc est le password crypté.
- etnica - Posté(e) le 22 juillet 2003 Posté(e) le 22 juillet 2003 Mouaip... mais si quelqu'un intercepte l'URL ou plus simplement si la personne envoie à une autre l'URL avec l'ensemble des attributs qui suivent (sans savoir qu'il s'agit du login + pwd), cette dernière pourra se connecter en utilisant le login (+pwd) de la première, même si c'est codé...
r.chatigré Posté(e) le 23 juillet 2003 Posté(e) le 23 juillet 2003 cette dernière pourra se connecter en utilisant le login (+pwd) de la première, même si c'est codé... D'où le besoin de vérifier l'IP! Cela vire encore quelques cas de détournement. Le vice peut-être poussé jusqu'à vérifier le navigateur utilisé.
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.