Question sur les Cookie

Résolu/Fermé
doctorpower Messages postés 359 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 4 décembre 2011 - 1 oct. 2009 à 15:25
 Utilisateur anonyme - 1 oct. 2009 à 16:14
Bonjour,

j'aimerais ajouter a mon systeme de membre une option pour que l'utilisateur puisse rester connecte a chaque visite.

Si l'utilisateur coche la case "Se souvenir de moi" je cree les cookies.
Mais comment lancer la directement la session lors d'une nouvelle visite?
Je dois mettre tout en haut du header par exemple: if ($_COOKIE......) { session_start } et verifier les cookies avec une requete sql depuis la table membre ?

Et j'ai lu qu'il etait deconseille d'inserer le mot de passe dans les cookie, mais alors comment authentifier la validite login/pass ?

Si quelqu'un pouvait m'eclaircir sur ce point..
Merci d'avance
A voir également:

9 réponses

Utilisateur anonyme
1 oct. 2009 à 15:36
Bonjour doctorpower,

Effectivement un mot de passe dans un coockie, pas terrible, mais par exemple, créer un pass temporaire, un genre de ticket qui permettrait d'identifier la personne, le seul truc que tu aurait à faire c'est de consulter tes tables utilisateurs pour savoir si le dernier ticket que le cookie à en mémoire correspond au dernier ticket attribué à ton membre, fais en sorte que le ticket soit remplacé tout les jours par contre, sinon toute personne venant avec dans ses cookies un nom de tes membres et le ticket jamais changé et paf y rentre. D'ailleurs je pense à un truc, tu peut faire ce ticket à partir du timestamp, de caractères aléatoires ajoutés et autres.

Tout ce qui faut c'est que la table de tes utilisateurs et les cookies soient mis à jour, soit à chaque fois que ton client effectue un clic sur une page, soit à chaque fin de session, mais la je peut pas t'aider, je connait le principe que sous la théorie.
1
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
1 oct. 2009 à 15:38
essaie
if(isset($_COOKIE['pseudo']))
{
   session_start();
   $_SESSION['pseudo'] = $_COOKIE['pseudo'] ;
   ....... // et toutes les autre informations !!
   // ce n'est pas la peine de verifier la validite du pseudo et du mot de passe !!
   // puisque tu l'as deja verifié lors de sa connexion !!
}
et s'il fait deconnexion !!
<?php
setcookie('pseudo'); // pour supprimer le cookie pseudo
....// et pour tous les autres cookies !!
?>
1
Utilisateur anonyme
1 oct. 2009 à 15:59
Eh bien dans le principe oui, dans la pratique, je sais pas comment tu pourrait faire, mais ce principe c'est le même que pour les serveurs CAS, tu t'identifie une fois après tu ballade qu'un ticket, il faudrait que ce ticket soit renouvelé à chaque fois qu'un membre passe sur ton site.

J'vais essayer de faire en étapes :

0. Ton client se connecte à ton site, tout de suite tu vérifie s'il a un ticket
1. Il en as pas, ton client s'identifie normalement
2. Tu vérifie son identité
3. C'est bon, tu lui donne un numéro aléatoire que tu stocke dans ses cookies et dans ta base utilisateurs
4. Ton client à fini y ferme le navigateur

5. Deux jours après, ton client revient, y se connecte à ton site, tout de suite tu vérifie si il a un ticket
6. Il en as un, tu vérifie si son ticket correspond au ticket que tu as de stocké dans ta base SQL pour le pseudo gardé en cookie
7. C'est Ok, tout de suite tu lui donne un nouveau ticket et tu stocke dans ta base SQL
8. Ton client à fini, mais y clique sur déconnecter, tu supprime ses cookies et tu efface le ticket dans ta base SQL


Bon je voit pas comment expliquer le principe plus facilement, sinon oui je suppose que le ticket pourrait être fait depuis un md5 random, à toi de voir si ca te convient ;)
1
Utilisateur anonyme
1 oct. 2009 à 15:47
Pas con et plus efficace, ouah :O
Merci watou ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
doctorpower Messages postés 359 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 4 décembre 2011 68
1 oct. 2009 à 15:47
Merci pour la rapiditee de vos reponses ^^

@watou: Non justement, si l'utilisateur se connecte avec "l'autologin" il n'aura pas entre son mot de passe, ni son login d'ailleur. Ou alors je n'ai pas tres bien compris:)

@MackDaddyMario28: Si je comprend bien, lorsque l'utilisateur se connecte il recoit un ticket valable pour la prochaine connexion uniquement et qui sera renouvelle a chaque nouvelle connexion? Et est-ce que je peux generer un ticket avec un md5 random ?
0
doctorpower Messages postés 359 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 4 décembre 2011 68
1 oct. 2009 à 15:51
Au temps pour moi, pardon ^^ je viens de saisir l'astuce, pas con en effet

Merci bien je vais essayer ca de suite
0
Utilisateur anonyme
1 oct. 2009 à 16:06
Tient moi au courant, j'aimerai quand même savoir si ca reste dans le domaine du faisable mon idée XD
Comme j'te l'ai dit, j'ai pris la théorie du CAS que j'ai modifié à ma sauce de tête en 5 minutes :) alors je sais pas si le résultat sera bon :D
0
doctorpower Messages postés 359 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 4 décembre 2011 68
1 oct. 2009 à 16:08
merci pour les explications MackDaddyMario28,
je vais deja essayer la methode de watou car elle est rapide a mettre en oeuvre mais je garde l'idee des tickets car j'en aurai besoin pour d'autres fonctionnalites sur le site :)
0
Utilisateur anonyme
1 oct. 2009 à 16:14
En même temps j'te comprend, moi aussi j'me lancerai pas tête baissé dans un truc pareil :s
0