Question sur les Cookie
Résolu
doctorpower
Messages postés
360
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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:
- Question sur les Cookie
- Supprimer les cookies - Guide
- 400 bad request request header or cookie too large ✓ - Forum Réseaux sociaux
- 400-Bad Request avec Firefox - Forum Windows
- Edit this cookie - Télécharger - Outils pour navigateurs
- Cookie de suivi avast - Forum Antivirus
9 réponses
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.
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.
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 !! ?>
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 ;)
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 ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
@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 ?
Au temps pour moi, pardon ^^ je viens de saisir l'astuce, pas con en effet
Merci bien je vais essayer ca de suite
Merci bien je vais essayer ca de suite
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
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