Questions a propos de l'authentification.

Questions a propos de l'authentification. - PHP - Programmation

Marsh Posté le 15-08-2003 à 11:27:28    

Salut!
 
Pour mon site IADO, pour l'accés membres je mettais en parametre d'URL le pseudo et le mot de passe du membres et je les verifiais grace a une fonctions a chaque page.
(fonctions qui cherche dans la table membre  "WHERE pseudo=$pseudo and pass=$pass" )
Mais je pense que cette technique n'est pas trés pro et que c'est un peu merdique non ?
 
Qu'est ce que vous utiliser vous ?
Les sessions ? C'est un peu prés la meme chose non ?
 
Merci d'avance.


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 15-08-2003 à 11:27:28   

Reply

Marsh Posté le 15-08-2003 à 11:38:15    

SmilM a écrit :

Salut!
 
Pour mon site IADO, pour l'accés membres je mettais en parametre d'URL le pseudo et le mot de passe du membres et je les verifiais grace a une fonctions a chaque page.
(fonctions qui cherche dans la table membre  "WHERE pseudo=$pseudo and pass=$pass" )
Mais je pense que cette technique n'est pas trés pro et que c'est un peu merdique non ?
 
Qu'est ce que vous utiliser vous ?
Les sessions ? C'est un peu prés la meme chose non ?
 
Merci d'avance.
 


 
 
Non.
 
Avec les sessions, tu definis une variable de session qui prend une certaine valeur quand lors du passage a une page d'authentification, le mot de passe est verifie. Seul le pseudo du membre peut avantageusement etre conserve dans l'UrL mais surtout pas son PASS !!!


Message édité par Hermes le Messager le 15-08-2003 à 11:38:50
Reply

Marsh Posté le 15-08-2003 à 11:49:46    

je crois capté :
J'ai une table sessions :
IdSessions
Pseudo
Duree
 
Et dans ma page d'authentification je verifie si le passe est OK et si c OK je crée l'IDSessions dans ma table accompagné du pseudo et de la durée (1h par exemple)
Dans mes URL, je passe en parametre, le pseudo et l'IdSessions.
 
Et je crée une fonctions que je mets a chaque page ou l'on doit etre identifié pour y accéder du genre :
$requete="SELECT * FROM sessions WHERE IdSessions=$IdSessions AND pseudo=$pseudo";
$resultat=mysql_query($requete,$connexion);
if(mysql_num_rows($resultat))=1
{
ON AFFICHE MA PAGE
}
else
{
echo"Identification impossible, veuillez vous reconnecter";
}
 
C'est ca non ?
 
j'ai pas gerer la variable de temps, je sais pas trop comment faire pour le moment, mais je vais chercher, je crois que je vais utiliser le temps Unix. Une fois cette heure écoulé, je suprime l'enregistrement de la sessions concerné.
c'est ca ?


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 15-08-2003 à 12:32:29    

non, tu n'utilises pas les sessions là mais ta base de données...
http://www.phpdebutant.org/article69.php

Reply

Marsh Posté le 19-08-2003 à 11:13:31    

En fait, sur ta page où la personne se logue (entre son nom d'utilisateur et son mot de passe), une fois qu'elle valide les infos saisies, via un script php tu récupères ces infos et tu crées une nouvelle session (un objet session par utilisateur, mais t'as pas à t'en soucier, c'est apache qui gère ça). Sans cet objet session, tu te définis 2 variables, par ex:
$_SESSION["Login"] = "toto";
$_SESSION["password"] = "titi";
mais avant d'avoir créé ton objet session, t'auras au préalable vérifié que le couple logion/password existe dans ta bd.
 
Ensuite, sur chacune de tes autres pages, tu vérifiras simplement que ton objet session existe pour cet utilisateur (fonction isSet(), je crois, par ex: isSet($_SESSION["Login"])).
 
Histoire de faire un truc un poil plus sécurisé, j'encodais en md5() côté client (donc via du javascript) le mot de passe et c'était ce mot de passe en md5 qui était stocké dans la bd. Comme ça, lors de la transaction client/serveur, le mot de passe est "crypté" (il est pas en clair) et dans ta bd, c'est aussi le cas. Ainsi, l'administrateur pourra pas connaître les mots de passes des utilisateurs... ;)

Reply

Marsh Posté le 20-08-2003 à 16:30:37    

rufo a écrit :

Histoire de faire un truc un poil plus sécurisé, j'encodais en md5() côté client (donc via du javascript) le mot de passe et c'était ce mot de passe en md5 qui était stocké dans la bd. Comme ça, lors de la transaction client/serveur, le mot de passe est "crypté" (il est pas en clair) et dans ta bd, c'est aussi le cas. Ainsi, l'administrateur pourra pas connaître les mots de passes des utilisateurs... ;)

Il conait mieux que ça.
Il conait tous les codes de tout le monde.
Pas le mot de passe en clair, c'est vrai, mais l'équivalent en MD5.
Un simple formulaire dans une page sans la fonction de codage MD5 et il peut se logguer a la place de n'importe qui.

Reply

Marsh Posté le 20-08-2003 à 18:32:16    

omega2 a écrit :

Il conait mieux que ça.
Il conait tous les codes de tout le monde.
Pas le mot de passe en clair, c'est vrai, mais l'équivalent en MD5.
Un simple formulaire dans une page sans la fonction de codage MD5 et il peut se logguer a la place de n'importe qui.


 
oui, effectivement, mais il ne connaîtra toujours pas le mot de passe en clair employé par l'utilisateur. De ce fait, il ne pourra pas pirater la boîte e-mail de l'utilisateur (s'il sait sur quel compte il a son adresse e-mail)

Reply

Marsh Posté le 20-08-2003 à 18:55:31    

rufo a écrit :


 
oui, effectivement, mais il ne connaîtra toujours pas le mot de passe en clair employé par l'utilisateur. De ce fait, il ne pourra pas pirater la boîte e-mail de l'utilisateur (s'il sait sur quel compte il a son adresse e-mail)

mouais... enfin en même temps on met pas n'importe qui comme administrateur :sarcastic:

Reply

Marsh Posté le 20-08-2003 à 20:32:24    

rufo a écrit :


 
oui, effectivement, mais il ne connaîtra toujours pas le mot de passe en clair employé par l'utilisateur. De ce fait, il ne pourra pas pirater la boîte e-mail de l'utilisateur (s'il sait sur quel compte il a son adresse e-mail)

Peut être pas, mais il poura ce conecter comme il veut a la place de n'importe quel utilisateur.
Par contre, dire que pour vérifier que le code est bon, tu vérifies, le code saisie avec la valeur dans la base et que dans la base, c'est des valeurs codés avec password() et que dans la requête, tu codes le code saisie grace a la fonction password, là, oui, je dirais, c'est sécurisé vu que même en lisant le code dans la base, l'administrateur ne poura ce faire passer par personne par le système normal.

Reply

Marsh Posté le 20-08-2003 à 23:06:53    

euh juste comme ca,
 
mettre dans l url id de la session c debile, passke ta plu ka copier coller l url pour te connecter sans t etre identifier.

Reply

Marsh Posté le 20-08-2003 à 23:06:53   

Reply

Marsh Posté le 22-08-2003 à 18:20:32    

DocWario a écrit :

euh juste comme ca,
 
mettre dans l url id de la session c debile, passke ta plu ka copier coller l url pour te connecter sans t etre identifier.


 
ca c'est vrai !
 
 
 
Merci pour vos réponses a tous !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed