Bien sûr, c'est sûr, mais il y a des précautions à prendre pour éviter les situations/attaques non sécurisées.
Il n'y a aucun problème avec le mécanisme que vous avez décrit. Mais la mise en œuvre est incomplète/non spécifique. Vous devez considérer le stockage de mot de passe et les procédures que vous utiliserez pour vous connecter.
En réponse à une plainte, voici quelques questions OWASP soulève sur l'authentification/sessions.
1. Les informations d'identification sont-elles toujours protégées lorsqu'elles sont stockées à l'aide du hachage ou du cryptage?
Oui, stocker vos mots de passe des utilisateurs en tant que hash salés. 2. Les informations d'identification peuvent-elles être devinées ou remplacées par des fonctions de gestion de compte faibles (par exemple, création de compte, changement de mot de passe, récupération du mot de passe, identification de session faible)?
Non, ces fonctions devraient être protégées par un lien question de sécurité/email.
3. Sont exposés les ID de session dans l'URL (par exemple, la réécriture d'URL)?
Non, ils ne devraient pas l'être.
4. Les ID de session sont-ils vulnérables aux attaques de fixation de session?
Nope, ne permettent pas aux utilisateurs de définir leur identifiant de session par tout moyen en plus de connexion.
5. Les ID de session expirent-ils et les utilisateurs peuvent-ils se déconnecter?
Dans les cas où l'utilisateur n'a pas spécifié autrement "rester connecté pendant deux semaines", les sessions devraient expirer plus tôt.
6. Les ID de session sont-ils pivotés après une connexion réussie? Oui, l'utilisation de session_destroy()
et de session_start()
permettra d'atteindre cet objectif
7. sont-mots de passe, identifiants de session et d'autres informations d'identification envoyées uniquement sur les connexions TLS?
Bien sûr.
Finalement, vous devez considérer le type de données que vous allez gérer. Ne permettez jamais à quelqu'un d'avoir accès au mot de passe d'un utilisateur, car cela pourrait compromettre ses données ailleurs. Mais, si vous utilisez colorakitten.com, ne perdez pas le sommeil sur la possibilité de sessions détournées: "Oh non, quelqu'un a piraté mon compte et décoloré mes chatons."
Lire: PHP Session Security
Comment le serveur décide-t-il de terminer l'enregistrement des données d'une session? – Prospero