Bonsoir,
Quelle est la bonne méthode pour garder une connexion à une base de données après authentification ?
une variable session informant que l'authentification a réussi suffit ?
Merci pour vos retours.
Bonsoir,
Quelle est la bonne méthode pour garder une connexion à une base de données après authentification ?
une variable session informant que l'authentification a réussi suffit ?
Merci pour vos retours.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
La connexion a la base de donnée est détruite à la fin du script.
La session PHP permet de garder l'information que l'utilisateur est connecté mais il faut refaire la connexion pour chaque page.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Après saisie login/mot de passe, je compare les résultats avec la table utilisateurs de ma base (le contenu des champs devant être contrôlés avant utilisation dans la requête SQL). Si les valeurs concordent, je crée une variable dans la session en évitant bien entendu un nom tel que authentifie ou acces_ok. Sur les autres pages, je vérifie cette variable avant accès aux données sur les autres tables.
C'est ok ? ou pas suffisant ?
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Tu peux donner le nom et la valeur que tu veux à ta variable de session, il n'y a pas d'enjeu de sécurité de ce côté la.
Sinon le principe est bien celui là oui.
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Bonjour,
1/ je ne sais pas si c'est ce que tu fais déjà, mais idéalement, on n'enregistre pas les mots de passe "en clair" dans la BdD.
- Enregistrement : password_hash()
- Vérification : password_verify()
2/ Pour un user connecté, on met au minimum dans une variable de SESSION son identifiant (id auto-incrémenté en BdD), qui est unique.
On peut mettre aussi son nom ou pseudo, mais jamais de données "sensible" (mot de passe, age pour les femmes, ...)
Mes mots de passe sont enregistrés dans la BDD en sha1. Je n'utilise pas les fonctions que tu as donné.
Le mot de passe saisi est copié dans une variable récupéré du POST, j'applique la fonction sha1 dessus, puis je compare avec le résultat récupéré dans la BDD.
Est-ce pertinent que j'utilise les fonctions que tu as cité ?Je penses que ça revient plus ou moins au même.
Pour le moment, je n'ai pas besoin d'identifier l'utilisateur, mais juste qu'il est autorisé à accéder, j'utiliserais sinon effectivement son id si nécessaire.
Pour l'age des femmes tu encode en système vicésimal et t'es tranquille
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Voir :
Note: Secure password hashing
It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm.
See here for details.Pourquoi les fonctions traditionnelles de hashage comme md5() et sha1() sont-elles inappropriées aux mots de passe ?
Les algorithmes de hashage comme MD5, SHA1 et SHA256 sont destinés à être rapides et efficaces. Avec les équipements informatiques modernes, il est devenu facile d'attaquer par force brute la sortie de ces algorithmes pour retrouver la chaîne originale.
C'est la raison pour laquelle de nombreux experts en sécurité considèrent ces algorithmes comme faibles et les déconseillent fortement pour hasher un mot de passe utilisateur.Alors, comment hasher mes mots de passe ?
[...]
Sachant que la fonction password_verify() le fera pour vous, vous êtes vivement encouragé à utiliser l'API native de hashage de mots de passe lorsque vous le pouvez.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager