Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2818 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [ PHP ] Page membre: le meilleur systeme d'authentification ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ PHP ] Page membre: le meilleur systeme d'authentification ?

n°144746
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 01:10:30  profilanswer
 

pour un site ou un forum, c'est quoi le mieux ?
 
au debut, j'ai commencé a faire un systeme avec une table user:
  id, login , password, sessionid
le password est stocké apres un md5().
 
lors du login, je verifie en base si il existe un id pour login = $login et password = md5($password) et si c'est le cas, je genere un sessionid, je mets a jour la base (colonne sessionid) pour le id recuperé précedemment et je sauve un cookie contenant le login + le sessionid
 
ensuite, sur chaque page, je verifie que le login/sessionid passés existent en base, si c'est le cas, c'est ok, sinon supression du cookie et redirection vers la page de login.
 
le pb avec ca, c'est que l'utilisateur est obligé de se reconnecter a chaque fois qu'il change de machine (puisque le sessionid est maj a chaque login et que le contenu du cookie sera different entre 2 machines)
 
 
 
donc j'ai cherché un peu sur le web et je suis tombé sur un article de PHPBuilder.com qui valide le login avec une "clé":
la table user contient maintenant:
  id, login , password
et lors du login, apres verif du login/pwd en base, le cookie genere contient le login + une clé = md5($cletopsecret . $login)
 
ensuite, sur chaque page, je verifie que cledanslecookie = md5($cletopsecret . logindanslecookie). si c'est ok, je verifie que le $logindanslecookie existe en base. si tout est ok, j'affiche la page de membre sinon, suppression du cookie et retour sur la page de login.
 
ca permet donc que l'utilisateur n'ait pas a se reconnecter sur chacun de ces pcs.
 
Y-a-t'il de meilleurs systemes? des problemes de securite dans celui que j'utilise (outre la divulgation de la $cletopsecret)?
 
 :jap:

 

[jfdsdjhfuetppo]--Message édité par JWhy le 26-05-2002 à 01:20:30--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
mood
Publicité
Posté le 26-05-2002 à 01:10:30  profilanswer
 

n°144753
ethernal
Chercheur de vérité...
Posté le 26-05-2002 à 01:44:06  profilanswer
 

je fais comme ça :
choix lors de la connexion d'un temps d'authentification (15min, 30min, 1h) ou bien autentification automatique par cookie.
 
je crée une session pour tout le monde.
si le login+pwd donné lors de l'authentification est valide, j'ajoute l'entrée dans la table des utilisateurs onlines (sess_id, user_id, durée) valide pour la durée encodée ou pour 1h si c'est par cookie.
 
Au chargement de chaque page, je regarde si la session est enregistrée dans la table des utilisateurs enregistrés.
 
soit c'est le cas, --> ok
soit ce n'est pas le cas, alors je regarde si un cookie existe.
S'il existe et que le login+pwd sont ok, je rajoute la sess_id, user_id, durée (c totalement transparent pour l'utilisateur).


---------------
...oups kernel error...
n°144867
siewn
Posté le 26-05-2002 à 15:25:42  profilanswer
 

JWhy a écrit a écrit :

ensuite, sur chaque page, je verifie que le login/sessionid passés existent en base, si c'est le cas, c'est ok, sinon  




 
et pourquoi t'utilise le sessionid ?
 
tu pourrais pas simplement sur chaque page vérifier que login = $login et password = md5($password) ?

n°144891
ninja sky
cai skylight
Posté le 26-05-2002 à 16:16:16  profilanswer
 

bah meme avec uniquement des cookies, si tu change de machine, tu dois te retapper l'authentification, hein

n°144893
siewn
Posté le 26-05-2002 à 16:18:00  profilanswer
 

ben faut créer les cookies une fois sur chaque machine, oui. mais après les cookies étant identiques, tu peux passer d'une machine à l'autre sans à avoir à te relogger

n°144896
ninja sky
cai skylight
Posté le 26-05-2002 à 16:20:38  profilanswer
 

siewn a écrit a écrit :

ben faut créer les cookies une fois sur chaque machine, oui. mais après les cookies étant identiques, tu peux passer d'une machine à l'autre sans à avoir à te relogger  




 
bin oui :D
 
mais sans les sesssions
 
pour ma part les sessions c un peu inutile, les cookies etant deja assez sécurisé :D

n°144910
siewn
Posté le 26-05-2002 à 16:25:04  profilanswer
 

oui, bien sûr tu vas pas retrouver ta session ;)
 
mais comme tu le dis, les sessions mieux vaut s'en passer (c'est pas très utile de tte façon)

n°144972
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 17:50:58  profilanswer
 

oui, c'est pour ca que j'etais passé a la deuxieme solution ;)
je voulais juste savoir si c'etait comme ca que ca se faisait generalement ou si il y avait de meilleurs systemes !


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°144974
siewn
Posté le 26-05-2002 à 17:54:03  profilanswer
 

hum, je vois pas ce que t'apporte le 2e système  :??:

n°145015
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 18:35:46  profilanswer
 

la possibilité de ne pas avoir a se relogger lors d'un changement de machines vu que le cookie contient les memes données


---------------
www.alliancefrancophone.org ... Home is where the heart is
mood
Publicité
Posté le 26-05-2002 à 18:35:46  profilanswer
 

n°145019
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 18:38:28  profilanswer
 

euh c'est pas le md5(password) que je stock dans le cookie, hein!
c'est le md5(cle1.login.cle2) avec cle1 et cle2 des cles privés stockés en dehors du repertoire web sur le serveur...


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°145021
ninja sky
cai skylight
Posté le 26-05-2002 à 18:39:14  profilanswer
 

JWhy a écrit a écrit :

euh c'est pas le md5(password) que je stock dans le cookie, hein!
c'est le md5(cle1.login.cle2) avec cle1 et cle2 des cles privés stockés en dehors du repertoire web sur le serveur...  



héhé bonne protection ! :)

n°145039
siewn
Posté le 26-05-2002 à 18:53:39  profilanswer
 

désolé, j'ai un peu de mal ;) mais je vois pas l'intérêt de stocker md5(cle1.login.cle2) au lieu du login simplement ?

n°145046
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 19:03:21  profilanswer
 

lors du login, je verifie qu'il existe un user_id pour le $login et $password passés
 
si c'est ok, je stock (cookie)
  $login : login
  $hash  : md5(cle1.login.cle2)
 
 
lors de l'affichage d'une page, je verifie que  
  $hash = md5(cle1.$login.cle2)
et que
  $login est en base
 
donc l'interet:
  cookie unique lors d'un changement de machine
  pas de mdp dans le cookie
 
inconvenient :
 ??? (c'est pour ca que je postais ;) )


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°145051
ninja sky
cai skylight
Posté le 26-05-2002 à 19:05:07  profilanswer
 

bah j'en vois aucun, tu peux meme mettre un password ds le cookie, en md5 ya aucune chance de le décrpyter

n°145054
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 19:07:21  profilanswer
 

pas dit: http://www.derekhinch.com/genlog.phtml  
vu que c'est les utilisateurs qui choisissent leur mdp (potentiellement "faible" ), md5($password) c'est un peu leg'... a la limit md5(cle1.$password.cle2)  ;)
 
pour info, mes cle1 et cle2 viennent de la:
http://www.winguides.com/security/password.php (64 char et tout coché)

 

[jfdsdjhfuetppo]--Message édité par JWhy le 26-05-2002 à 19:08:29--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°145066
siewn
Posté le 26-05-2002 à 19:17:38  profilanswer
 

ok, je partais du principe que le md5 était undécryptible alors que c'est vrai qu'il y a des limites à cela... à ce moment là, tu fais un md5($login.$pass) comme ça t'as pas à utiliser de clé.
 
par contre, ça n'a pas un rapport direct mais n'oublie pas de créer un champ nberreurs et de bloquer toute tentative de login quand il y a eu 10 tentatives successives avec un mot de passe éronné.

n°145070
JWhy
je peux plier (héhé)
Posté le 26-05-2002 à 19:20:40  profilanswer
 

c'est pas encore fait, mais c'etait deja dans la liste  ;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°306499
kileak2
Posté le 11-02-2003 à 16:53:35  profilanswer
 

JWhy a écrit :

pas dit: http://www.derekhinch.com/genlog.phtml  
vu que c'est les utilisateurs qui choisissent leur mdp (potentiellement "faible" ), md5($password) c'est un peu leg'... a la limit md5(cle1.$password.cle2)  ;)
 
pour info, mes cle1 et cle2 viennent de la:
http://www.winguides.com/security/password.php (64 char et tout coché)  
 
[jfdsdjhfuetppo]--Message édité par JWhy le 26-05-2002 à 19:08:29--[/jfdsdjhfuetppo]


 
 
md5 c intégré à PHP d'office ?
 
je suis newbie en php, je viens d'asp :)........désolé  :whistle:

n°306604
JWhy
je peux plier (héhé)
Posté le 11-02-2003 à 18:15:20  profilanswer
 
n°307088
kileak2
Posté le 11-02-2003 à 23:13:16  profilanswer
 


 
merci :) le manuel ok ! je bookmark

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [ PHP ] Page membre: le meilleur systeme d'authentification ?

 

Sujets relatifs
[PHP/MySQL] Afficher des enregistrement par date[PHP] script php???
[PHP] Question surement stupide, mais qd meme[PHP] Help !
[ PHP / MySQL ] Suivre les recherche qui ont été faites...CGI-BIN ou PHP
[PHP] Changement de couleur sur un gifPHP se fout de ma gueule... HELP !
[PHP] J'ai perdu 3H pour résoudre ce bug - Suis je une merde ?[PHP] Easyphp 1.6 buggé?
Plus de sujets relatifs à : [ PHP ] Page membre: le meilleur systeme d'authentification ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR