Posté(e) le 18 juillet 200321 a 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!
Posté(e) le 18 juillet 200321 a ça dépend comment tu souhaites que cela soit géré... server side ou client side ?
Posté(e) le 18 juillet 200321 a 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
Posté(e) le 18 juillet 200321 a ...soit tu fait simple comme moi et tu met des infos dans l'url. Bonjour la sécurité!!! JAMAIS de password dans une URL...
Posté(e) le 19 juillet 200321 a ...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
Posté(e) le 19 juillet 200321 a ...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.
Posté(e) le 19 juillet 200321 a 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.
Posté(e) le 19 juillet 200321 a Auteur 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
Posté(e) le 19 juillet 200321 a 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.
Posté(e) le 20 juillet 200321 a 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
Posté(e) le 20 juillet 200321 a 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>
Posté(e) le 22 juillet 200321 a ...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.
Posté(e) le 22 juillet 200321 a 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.
Posté(e) le 22 juillet 200321 a 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
Posté(e) le 22 juillet 200321 a 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
Posté(e) le 22 juillet 200321 a ça marche je vais potasser le lien que tu m'as donner et voir si je peux en tirer quelque chose.
Posté(e) le 22 juillet 200321 a 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
Posté(e) le 22 juillet 200321 a ...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...
Posté(e) le 22 juillet 200321 a 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é.
Posté(e) le 22 juillet 200321 a 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é...
Posté(e) le 23 juillet 200321 a 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é.
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.