Authentification, session, Gestion des comptes utilisateurs

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Authentification, session, Gestion des comptes utilisateurs

Message le Jeu Aoû 19, 2004 19:52

Bonjour,

Pour mettre en place un accès restreint par comptes à une partie de mon site, j'aimerais créer en PHP une gestion des utilisateurs enregistrés avec en vrac les fonctionnalités suivantes :

- authentification par nom et pass stockés en base,
- support des sessions
- administration par l'utilisateur des informations propre à son compte

Vous avez des grandes directions techniques à me conseiller ?

puis-je utiliser les sessions de PHP en me passant de sessionID dans les urls et de cookies ?

Merci d'avance.

Samuel
Dernière édition par sgaze le Lun Oct 16, 2006 16:43, édité 1 fois.

totoro
WRInaute impliqué
WRInaute impliqué
 
Messages: 925
Inscription: 28 Juil 2004

Message le Jeu Aoû 19, 2004 19:57

Salut,
Je te conseille d'utiliser des cookies, c'est aussi simple à utiliser que des session, et ca évite les apparitions en URL justement.

tu fais un fichier login.php (par exemple) avec ton formulaire d'entrée
tu fais une validation de ce formulaire dans la même page (histoire de pas faire 15.000 fichiers). Si les données sont validées, tu rediriges vers la page sécurisée.

Dans toutes les pages "sécurisées" tu fais un test de présence de ton cookies avec check des valeurs, si c'est pas bon, au revoir, et retour en premiere page.

Vala, j'espere que j'ai été clair, si c'est pas le cas, n'hésite pas à répondre.
Bonne chance.

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Message le Jeu Aoû 19, 2004 20:26

Oui c'est clair, merci !

Quand tu parles de cookie, c'est en mémoire sur le serveur le temps de la session ou sur le poste client à plus long terme ?

Oubah
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 1 Mar 2004

Message le Jeu Aoû 19, 2004 20:31

personne n'a de problemes avec les cookies et ie 6 ?
Je suis obligé d'utiliser les sessions de mon côté car impossible de récupérer le cookie :/

Oubah
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 1 Mar 2004

Message le Jeu Aoû 19, 2004 20:33

samgaz a écrit:Oui c'est clair, merci !

Quand tu parles de cookie, c'est en mémoire sur le serveur le temps de la session ou sur le poste client à plus long terme ?


Les cookies sont stockés chez le client le temps que tu veux, contrairement aux sessions qui sont stockées sur le serveur et sont automatiquement détruits dans un laps de temps déterminé.

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Message le Jeu Aoû 19, 2004 20:36

Oubah a écrit:personne n'a de problemes avec les cookies et ie 6 ?


IE6 et son célèbre onglet confidentialité a une gestion variable des cookies.

As tu testé si à certains niveaux du réglage de confidentialité tu n'arrives plus à récupérer les infos ?

Oncle Tom
WRInaute impliqué
WRInaute impliqué
 
Messages: 812
Inscription: 31 Mar 2003

Message le Ven Aoû 20, 2004 7:46

En PHP, l'utilisation du setcookie() est assez particulière et faut remplir au maximum les paramètres pour que les cookies soient créés sans encombre sur la majorité des navigateurs.

De mon côté, j'utilise un système de session EXTERIEUR à celui des sessions PHP (en utilisant une table MySQL de sessions) car j'ai intégré mon forum à mon site. C'est à peine plus lourd mais t'es tranquille dans la mesure où tu n'es pas obligé de pourrir tes URL.
C'est assez technique à faire par contre.

Se baser que sur les cookies, c'est un choix (que j'aurais pu faire) mais tant qu'à le faire, autant essayer au départ de le faire bien et pour un maximum de personnes.

Oubah
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 1 Mar 2004

Message le Ven Aoû 20, 2004 8:02

De mon côté, j'ai justement testé à plusieurs niveaux de sécurité pour les cookies mais en vain.
Pour ce qui est d'envoyer les cookies, je n'ai aucun problème c'est simplement pour les récupérer.
Mais j'ai entendu dire que les sessions PHP pouvaient parfois poser problème aussi ?


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Ven Aoû 20, 2004 8:42

The Jedi a écrit:En PHP, l'utilisation du setcookie() est assez particulière et faut remplir au maximum les paramètres pour que les cookies soient créés sans encombre sur la majorité des navigateurs.


Je ne pense pas que ce soit une contrainte de PHP, mais plutot d'IE 6 et son filtre assez restrictif sur les cookies. Non ?



The Jedi a écrit:De mon côté, j'utilise un système de session EXTERIEUR à celui des sessions PHP (en utilisant une table MySQL de sessions) car j'ai intégré mon forum à mon site. C'est à peine plus lourd mais t'es tranquille dans la mesure où tu n'es pas obligé de pourrir tes URL.
C'est assez technique à faire par contre.

Se baser que sur les cookies, c'est un choix (que j'aurais pu faire) mais tant qu'à le faire, autant essayer au départ de le faire bien et pour un maximum de personnes.


euh.... En utilisant MySQL, tu ne fais que changer la méthode de stockage des sessions. Ca ne change absolument rien sur la méthode de transmission de l'ID de session.

Tu peux bien évidement aussi modifier cette méthode de transmission, mais cela n'a rien à voir avec le fait de stocker en base de données.

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Message le Ven Aoû 20, 2004 9:59

J'envisage le fonctionnement suivant pour authentifier et maintenir la session de l'utilisateur :

L'utilisateur s'authentifie avec son couple (login, pass) par un formulaire
Une fois posté, je vérifie que son compte existe en base et que le mot de passe correspond à ce compte.

Je stocke alors son login dans une variable de session $_session. Je vérifie dans toutes les pages "sécurisées" que la variable de session n'est pas vide et qu'elle correspond à un compte existant en base.

Voyez vous des inconvénients ou des failles de sécurité ?


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Ven Aoû 20, 2004 10:19

C'est la méthode que beaucoup de sites / scripts utilisent. Cette méthode est aussi est aussi "sûre" que les sessions elles mêmes... donc pas fiable à 100%, mais largement suffisant dans la plupart des cas.

PS : par contre, si ce n'est pas le cas, je te conseille très fortement de crypter tes mots de passe en base

sgaze
WRInaute impliqué
WRInaute impliqué
 
Messages: 538
Inscription: 2 Fév 2004

Message le Ven Aoû 20, 2004 10:44

Bool a écrit:PS : par contre, si ce n'est pas le cas, je te conseille très fortement de crypter tes mots de passe en base


Tu as raison, ne serait-ce que par respect du visiteur.

Quel mécanisme de cryptage-décryptage tu me conseilles ?


Bool
WRInaute passionné
WRInaute passionné
 
Messages: 1290
Inscription: 26 Fév 2004

Message le Ven Aoû 20, 2004 10:49

J'ai longtemps fait la bétise d'utiliser la fonction md5() de PHP pour ça... mais depuis peu j'ai changé pour crypt(), comme indiqué dans l'excellent ouvrage "PHP 5 Avancé".

D'ailleurs, avec crypt() j'utilise également le chiffrage md5(), mais avec le salt en plus.

Oubah
WRInaute discret
WRInaute discret
 
Messages: 237
Inscription: 1 Mar 2004

Message le Ven Aoû 20, 2004 11:31

Bool a écrit:J'ai longtemps fait la bétise d'utiliser la fonction md5() de PHP pour ça... mais depuis peu j'ai changé pour crypt(), comme indiqué dans l'excellent ouvrage "PHP 5 Avancé".

D'ailleurs, avec crypt() j'utilise également le chiffrage md5(), mais avec le salt en plus.


Elle a de quoi de particulier la fonction md5 ?


Bobez
WRInaute impliqué
WRInaute impliqué
 
Messages: 716
Inscription: 20 Mai 2004

Message le Ven Aoû 20, 2004 12:26

Oui, quel est le problème, car perso j'utilise md5() pour crypter mes pass (tout comme phpBB si je me souviens bien)...

Authentification, session, Gestion des comptes utilisateurs

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités