Bonne pratique de l’utilisation de l’option « Se souvenir de moi » ( [Résolu]

roymatthieu 112 Messages postés jeudi 31 août 2006Date d'inscription 3 février 2011 Dernière intervention - 12 avril 2010 à 12:27 - Dernière réponse : pysco68 681 Messages postés samedi 26 février 2005Date d'inscription 21 août 2014 Dernière intervention
- 13 avril 2010 à 09:18
Bonjour,

Je viens à vous car j’ai une petite question concernant la sécurisation d’un espace membre.

Je précise que j’ai lu pas mal d’article sur la sécurité en PHP.

Préambule :

Je développe actuellement une application pourvue d’un espace membre et je me pose la question quand à la bonne pratique de l’utilisation de l’option « Se souvenir de moi ».

Actuellement, lorsqu’un membre s’identifie et coche cette case, je génère un cookie.

Celui-ci contient l’identifiant et le mot de passe de l’utilisateur (je précise que le contenu du cookie est crypté par une fonction de cryptage utilisant l’algorithme RIJNDAEL qui utilise une clé de cryptage et un vecteur d’initialisation de 32 caractères chacun. Ces deux clé sont généré automatiquement lors de l’installation de l’application et son contenue dans la base de données).

Lorsque le membre reviens sur le site, je lis les informations du cookie, je les décryptes et je les comparent à celles de la base de données, si tout est correct, j’autorise la connexion.

Le contenu des sessions est lui aussi crypté et stocké soit dans un répertoire spécifique de l’application soit dans la base de données (cela dépend des paramètres de configurations de l’application)

J’utilise entre autre les paramètres suivants concernant les sessions :

ini_set('session.cookie_httponly', 1);

ini_set('session.use_cookies', 1);

ini_set('session.use_only_cookies', 1);

ini_set('session.use_trans_sid', 0) ;

ini_set('session.hash_function' , 1);

Questions :

Si le cookie est volé, on sait se connecter -> Comment l’éviter ?

SI le cookie est modifié - selon je doute car sans connaitre la clé de cryptage, c’est tout de même un peu difficile – on sait se connecter -> Comment l’éviter ?

Pour vérifier la modification je pensais générer un hash du contenu et conserver celui-ci afin de le comparer au contenu du cookie avant d’utiliser les données ? Qu’en pensez-vous ?

Merci d’avance pour vos réponses…

Matt.
Afficher la suite 

Votre réponse

4 réponses

pysco68 681 Messages postés samedi 26 février 2005Date d'inscription 21 août 2014 Dernière intervention - 13 avril 2010 à 08:23
+3
Utile
Bonjout Matt,

Tout d'abord celà: il n'y a pas de sécurité absolue, mais ça je pense que tu le sais...

L'utilisation d'un "remind me" est de plus une chose qui provoque l'une ou l'autre possibilité de hack... (rien que tu n'ai pas cité dans ton post...)

Quand à la "bonne pratique";

ne jamais envoyer - même sous forme cryptée - le mot de passe à l'utilisateur (que ce soit pour ce genre de cs où pour une procédure de RAZ de son mot de passe par exemple!), donc pour ton cookie, comme pour ta bdd, ne sauvegarde pas les mots de passes en clair si c'est évitable!

Pour ce qui est du vol de cookie, c'est un risque, si il est trop grand pour ton application, la fonction "remind me" est à proscrire!

Une chose que tu pourrais néanmoins faire, c'est comparer aussi le User-agent (type de navigateur + version etc) qui ne devrais pas changer sans arrêt! C'est peut-être facilement modifiable, mais il faut être au courant de la procédure ;)

J'espère t'avoir donné quelques informations ;)
Cordialement,

- Pysco68
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pysco68
roymatthieu 112 Messages postés jeudi 31 août 2006Date d'inscription 3 février 2011 Dernière intervention - 13 avril 2010 à 09:15
+3
Utile
Salut,

Merci beaucoup pour ta réponse... Tu confirme ce que je pensais.

Je vais donc, proscrire la fonction "remind me" car l'accès à l'application est trop important pour risquer une faille de plus.

Pour info, je compare déjà le user-agent entre deux requêtes en plus de tout le reste et je ne stocke pas les mots de passe en clair.

Encore merci pour tes lumières !

Néanmoins, que penses-tu de vérifier le contenu d'un cookie via un hash générer préalablement afin de savoir si celui-ci n'a pas été modifié...

Ceci peut importe le contenu mais le principe même appliqué dans le cas où l'on doit contrôler l'intégrité des données contenue dans un cookie ?

Bien à toi.

Matt.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de roymatthieu
roymatthieu 112 Messages postés jeudi 31 août 2006Date d'inscription 3 février 2011 Dernière intervention - 12 avril 2010 à 12:30
0
Utile
Saloperie d'apostrophe...

Ps j'ai rédigé mon post dans Outlook avant de le poster. Je ne savais pas que que ca allait donner ceci car l'apperçu était ok..

Déso.
Commenter la réponse de roymatthieu
pysco68 681 Messages postés samedi 26 février 2005Date d'inscription 21 août 2014 Dernière intervention - 13 avril 2010 à 09:18
0
Utile
Pour la vérification du cookie c'est une pratique qui a lieue d'être, mais je pense que le plus "sur" est de ne pas sauvegarder d'informations assez importantes (pour être vérifiées de cette façon) dans un cookie...

Cordialement,
- Pysco68
Commenter la réponse de pysco68

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.