EraTisAtoR Posted July 27, 2005 Share Posted July 27, 2005 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 Link to comment Share on other sites More sharing options...
koskoz Posted July 28, 2005 Share Posted July 28, 2005 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. Link to comment Share on other sites More sharing options...
3psilon Posted July 28, 2005 Share Posted July 28, 2005 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 . Link to comment Share on other sites More sharing options...
EraTisAtoR Posted July 29, 2005 Author Share Posted July 29, 2005 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.