Aller au contenu

Sessions PHP


EraTisAtoR

Messages recommandés

Salut!

Je réalise actuellement un petit site pour ma boite (intranet), permettant d'informatiser un certain nombre de fiches papier. Il en résulte un très grand nombre d'accès à ma base de données, pour extraire/insérer/modifier des données.

J'utilise largement pour cela PHP, via les sessions.

Jusque là, l'utilisateur ouvre une session par un formulaire, et mon script inscrit dans les variables de session le login et le mot de passe de l'utilisateur après les avoir vérifiés en les comparant à ceux stockés dans ma base

. J'accède ensuite à ces variables pour établir une connexion à ma base par :

mysql_connect ('localhost', $_SESSION['login'], $_SESSION['pass']);

Seulement, en creusant un peu la question, je me suis aperçu que le mot de passe était inscrit en clair dans les fichiers de session (ceux de session.save_path).

Après une petite recherche sur google, j'ai lu un peu partout qu'il est déconseillé de stocker un mot de passe dans les variables de session, ce qui peut se concevoir.

Quelles peuvent donc être les solutions pour récupérer le mot de passe associé à un user? J'ai pensé à un script php contenant un tableau associatif login => pass et une fonction renvoyant le pass du login passé en paramètre, et qui serait appelée à chaque chargement de page, vous en pensez quoi? Ca me semble assez lourd, et je ne sais pas si c'est plus sur que la méthode des sessions.

Quelqu'un a une idée et peut éclairer ma lanterne??

Merci :)

Mathieu

Lien vers le commentaire
Partager sur d’autres sites

J'ai pensé à un script php contenant un tableau associatif login => pass et une fonction renvoyant le pass du login passé en paramètre, et qui serait appelée à chaque chargement de page, vous en pensez quoi? Ca me semble assez lourd, et je ne sais pas si c'est plus sur que la méthode des sessions.

J'aurai fait ça aussi, même si sa risque d'être lourd.

Lien vers le commentaire
Partager sur d’autres sites

bonjour et un salut à la communauté pc inpact !

Mathieu, tu devrais ptet faire un script de login qui place une variable de session type boolean à TRUE ou FALSE suivant si l'utilisateur est authentifié ou pas.

De ce fait dans les autres pages du site, une simple vérification de cette valeur te permettra de savoir si cet utilisateur s'est loggué correctement et si non : redirection automatique vers la page de login.

Apres les variables de sessions etant conservées sur le serveur web ... question sécurité, il faut voir si ce serveur est accessible à un grand nombre de personne de ton entreprise.

Le login/pass en variable de session me parait bien, au pire tu peux crypter les données .

Lien vers le commentaire
Partager sur d’autres sites

bonjour et un salut à la communauté pc inpact !

Mathieu, tu devrais ptet faire un script de login qui place une variable de session type boolean à TRUE ou FALSE suivant si l'utilisateur est authentifié ou pas.

De ce fait dans les autres pages du site, une simple vérification de cette valeur te permettra de savoir si cet utilisateur s'est loggué correctement et si non : redirection automatique vers la page de login.

Apres les variables de sessions etant conservées sur le serveur web ... question sécurité, il faut voir si ce serveur est accessible à un grand nombre de personne de ton entreprise.

Le login/pass en variable de session me parait bien, au pire tu peux crypter les données .

bonjour et un salut à la communauté pc inpact !

Mathieu, tu devrais ptet faire un script de login qui place une variable de session type boolean à TRUE ou FALSE suivant si l'utilisateur est authentifié ou pas.

De ce fait dans les autres pages du site, une simple vérification de cette valeur te permettra de savoir si cet utilisateur s'est loggué correctement et si non : redirection automatique vers la page de login.

Apres les variables de sessions etant conservées sur le serveur web ... question sécurité, il faut voir si ce serveur est accessible à un grand nombre de personne de ton entreprise.

Le login/pass en variable de session me parait bien, au pire tu peux crypter les données .

Pas de problème pour l'authentification. En effet, j'utilise une page en php avec 2 DIV, une pour le menu, et l'autre dans laquelle j'include telle ou telle page (passée en URL par une méthode GET) après avoir fait un test sur les variables de session. Donc si la personne ne s'est pas logguée... pas de include!!

Et puis à la reflexion, je pense que je vais laisser mes mots de passe dans mes variables de session, je vois pas comment faire autrement, c'est bien pratique. Je me suis démerdé pour modifier les permissions NTFS du répertoire contenant les fichiers de session pour ne laisser l'accès qu'au serveur Web et à l'admin.

D'autre part j'utilise SSL, donc cryptage 128 bits assuré.

Je vais continuer à sécuriser mon code, on trouve tout ce qu'il faut sur le net!

Merci à toi et à koskoz en tous cas pour vos réponses.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...