Bonne pratique de l’utilisation de l’option « Se souvenir de moi » (

Résolu
roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 - 12 avril 2010 à 12:27
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 - 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.

4 réponses

pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
13 avril 2010 à 08:23
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
3
roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 1
13 avril 2010 à 09:15
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.
3
roymatthieu Messages postés 112 Date d'inscription jeudi 31 août 2006 Statut Membre Dernière intervention 3 février 2011 1
12 avril 2010 à 12:30
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.
0
pysco68 Messages postés 681 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 21 août 2014 8
13 avril 2010 à 09:18
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
0
Rejoignez-nous