Aller au contenu

Garder son login...


M'sieu Sman

Messages recommandés

Posté(e)

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)

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)
...soit tu fait simple comme moi et tu met des infos dans l'url.

:yes: Bonjour la sécurité!!!

JAMAIS de password dans une URL... :incline:

:yes:

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 :francais:

Posté(e)
...soit tu fait simple comme moi et tu met des infos dans l'url.

:eeek2: Bonjour la sécurité!!!

JAMAIS de password dans une URL... :fumer:

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)

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

:yes:

Posté(e)

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.

:francais:

Posté(e)

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 :pleure:

Posté(e)

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>

:pleure:

Posté(e)
...soit tu fait simple comme moi et tu met des infos dans l'url.

:fumer: Bonjour la sécurité!!!

JAMAIS de password dans une URL... :yes:

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)
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)

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 :yes::yes:

Posté(e)
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 :eeek2::mdr:

Posté(e)
...soit tu fait simple comme moi et tu met des infos dans l'url.

:mdr: Bonjour la sécurité!!!

JAMAIS de password dans une URL... :keskidit:

Il n'a pas dit de mettre le password!

:eeek2:

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... :keskidit:

Posté(e)

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)

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é... :vomi2:

Posté(e)
cette dernière pourra se connecter en utilisant le login (+pwd) de la première, même si c'est codé... :keskidit:

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.

×
×
  • Créer...