Je souhaite que mon site Web comporte une case à cocher sur laquelle les utilisateurs peuvent cliquer afin de ne pas avoir à se connecter à chaque fois qu'ils visitent mon site Web. Je sais que je devrai stocker un cookie sur leur ordinateur pour l'implémenter, mais que devrait contenir ce cookie?
De plus, y a-t-il des erreurs courantes à éviter pour empêcher ce cookie de présenter une vulnérabilité de sécurité, qui pourrait être évitée tout en offrant la fonctionnalité «se souvenir de moi»?
security
cookies
remember-me
Vort3x
la source
la source
Réponses:
Meilleure pratique de cookie de connexion persistante améliorée
Vous pouvez utiliser cette stratégie décrite ici comme meilleure pratique (2006) ou une stratégie mise à jour décrite ici (2015):
Cette approche offre une défense en profondeur. Si quelqu'un parvient à divulguer la table de base de données, cela ne donne pas à un attaquant une porte ouverte pour usurper l'identité d'utilisateurs.
la source
Je voudrais stocker un ID utilisateur et un jeton. Lorsque l'utilisateur revient sur le site, comparez ces deux informations à quelque chose de persistant comme une entrée de base de données.
En ce qui concerne la sécurité, ne mettez rien là-dedans qui permettra à quelqu'un de modifier le cookie pour obtenir des avantages supplémentaires. Par exemple, ne stockez pas leurs groupes d'utilisateurs ou leur mot de passe. Tout ce qui peut être modifié pour contourner votre sécurité ne doit pas être stocké dans le cookie.
la source
Stockez leur UserId et un RememberMeToken. Lorsqu'ils se connectent avec l'option Se souvenir de moi cochée, générez un nouveau RememberMeToken (qui invalide toutes les autres machines qui sont marquées se souviennent de moi).
Quand ils reviennent, recherchez-les par le jeton Remember me et assurez-vous que UserId correspond.
la source
En enquêtant moi-même sur les sessions persistantes, j'ai constaté que cela ne valait tout simplement pas le risque pour la sécurité. Utilisez-le si vous en avez absolument besoin, mais vous devriez considérer une telle session comme faiblement authentifiée et forcer une nouvelle connexion pour tout ce qui pourrait être utile à un attaquant.
La raison en est bien sûr que vos cookies contenant votre session persistante sont si facilement volés.
4 façons de voler vos cookies (d'après un commentaire de Jens Roland sur la page
@splattne
basée sur sa réponse):la source