Authentification, session, Gestion des comptes utilisateurs
34 messages
• Page 1 sur 3 • 1, 2, 3
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- sgaze
- WRInaute impliqué

- Messages: 538
- Inscription: 2 Fév 2004
Authentification, session, Gestion des comptes utilisateurs
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
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é

- Messages: 925
- Inscription: 28 Juil 2004
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.
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.
- Oubah
- WRInaute discret

- Messages: 237
- Inscription: 1 Mar 2004
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é

- Messages: 538
- Inscription: 2 Fév 2004
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é

- Messages: 812
- Inscription: 31 Mar 2003
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.
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

- Messages: 237
- Inscription: 1 Mar 2004
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 ?
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é

- Messages: 1290
- Inscription: 26 Fév 2004
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é

- Messages: 538
- Inscription: 2 Fév 2004
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é ?
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é

- Messages: 1290
- Inscription: 26 Fév 2004
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
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é

- Messages: 538
- Inscription: 2 Fév 2004
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é

- Messages: 1290
- Inscription: 26 Fév 2004
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.
D'ailleurs, avec crypt() j'utilise également le chiffrage md5(), mais avec le salt en plus.
- Oubah
- WRInaute discret

- Messages: 237
- Inscription: 1 Mar 2004
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 ?
34 messages
• Page 1 sur 3 • 1, 2, 3
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 :
- Annuaires pour ou contre les comptes utilisateurs?
- Comment gérer l'authenticité des comptes utilisateurs gratui
- Script de gestion des utilisateurs
- Gestion des utilisateurs vérifiés dans Google Webmaster Tools
- probleme phpbb Gestion de l'identifiant de session
- Problème avec MOD « Gestion de l'identifiant de session »
- authentification Invision + authentification perso
- authentification
- authentification questions ?
- Authentification du site
Consultez la description détaillée des produits ou services de Google suivants : Google Apps Edition Premium
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

