M'sieu Sman Posted July 18, 2003 Share Posted July 18, 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! Link to comment Share on other sites More sharing options...
dadevil Posted July 18, 2003 Share Posted July 18, 2003 ça dépend comment tu souhaites que cela soit géré... server side ou client side ? Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 18, 2003 Share Posted July 18, 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 Link to comment Share on other sites More sharing options...
- etnica - Posted July 18, 2003 Share Posted July 18, 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... Link to comment Share on other sites More sharing options...
dadevil Posted July 19, 2003 Share Posted July 19, 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 Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 19, 2003 Share Posted July 19, 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. Link to comment Share on other sites More sharing options...
- etnica - Posted July 19, 2003 Share Posted July 19, 2003 ...des sessions cryptés côté serveur... ... Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 19, 2003 Share Posted July 19, 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. Link to comment Share on other sites More sharing options...
M'sieu Sman Posted July 19, 2003 Author Share Posted July 19, 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 Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 19, 2003 Share Posted July 19, 2003 www.phpdebutant.org Link to comment Share on other sites More sharing options...
M'sieu Sman Posted July 19, 2003 Author Share Posted July 19, 2003 Le site est . Il répond à plein de que je me posais Link to comment Share on other sites More sharing options...
Marmotte Posted July 19, 2003 Share Posted July 19, 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. Link to comment Share on other sites More sharing options...
Sentinel Posted July 20, 2003 Share Posted July 20, 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 Link to comment Share on other sites More sharing options...
Marmotte Posted July 20, 2003 Share Posted July 20, 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> Link to comment Share on other sites More sharing options...
Marmotte Posted July 21, 2003 Share Posted July 21, 2003 personne ne répond à ma question sniff Link to comment Share on other sites More sharing options...
brice.wernet Posted July 22, 2003 Share Posted July 22, 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. Link to comment Share on other sites More sharing options...
brice.wernet Posted July 22, 2003 Share Posted July 22, 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. Link to comment Share on other sites More sharing options...
Marmotte Posted July 22, 2003 Share Posted July 22, 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 Link to comment Share on other sites More sharing options...
brice.wernet Posted July 22, 2003 Share Posted July 22, 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 Link to comment Share on other sites More sharing options...
Marmotte Posted July 22, 2003 Share Posted July 22, 2003 ça marche je vais potasser le lien que tu m'as donner et voir si je peux en tirer quelque chose. Link to comment Share on other sites More sharing options...
Marmotte Posted July 22, 2003 Share Posted July 22, 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 Link to comment Share on other sites More sharing options...
- etnica - Posted July 22, 2003 Share Posted July 22, 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... Link to comment Share on other sites More sharing options...
ran-tan-plan Posted July 22, 2003 Share Posted July 22, 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é. Link to comment Share on other sites More sharing options...
- etnica - Posted July 22, 2003 Share Posted July 22, 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é... Link to comment Share on other sites More sharing options...
brice.wernet Posted July 23, 2003 Share Posted July 23, 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é. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.