par
lux » 07 juin 2007, 15:17
Hello tout le monde.
J'ai une partie admin pour mon site, qui est sécurisé par Session. Donc la aucun problème.
Je pensais par contre ajouter une case à cocher "se souvenir de moi". (Autologin donc)
J'ai réussi à implémenter ceci, sans trop de problème, en envoyant un cookie, le script marche, gère même la deconnexion de la session et de la destruction du cookie. Je me suis tout de même renseigné par la suite sur la sécurité de cette méthode.
Il me semble que quoi que je fasse, le cookie peut-être récupéré et qqn pourra se loggeur à la place de l'utilisateur initial.
Je peux mettre dans mon cookie :
- soit le login et le mot de passe (encrypté md5)
- soit un string crée avec rand()
Je peux ensuite faire un contrôle avec une insertion en BDD de ce string, ou de l'ID de session, ou de ce que vous voulez ...
MAIS quoi qu'il se passe, si qqn récupère le contenu du cookie a un moment ou un autre, il pourra renvoyer le contenu du cookie et entrer dans la console admin, vu que j'ai un autologin quand qqn se connecte avec les données de ce cookie.
//Autologin
if (isset($_COOKIE['session']) && $_COOKIE['session'] == '$controle')
{
$_SESSION['auth'] = 'ok'; //On autorise la session
}
//$controle = ce qu'on veut, enfin, ce qu'on a mis dans le cookie, que ce soit mot de passe, login, chaine au hasard
Donc je fais quoi ? J'abandonne l'idée de l'autologin, ou y a-t'il un moyen de sécuriser ça a fond ?
Merci d'avance !
Hello tout le monde.
J'ai une partie admin pour mon site, qui est sécurisé par Session. Donc la aucun problème.
Je pensais par contre ajouter une case à cocher "se souvenir de moi". (Autologin donc)
J'ai réussi à implémenter ceci, sans trop de problème, en envoyant un cookie, le script marche, gère même la deconnexion de la session et de la destruction du cookie. Je me suis tout de même renseigné par la suite sur la sécurité de cette méthode.
Il me semble que quoi que je fasse, le cookie peut-être récupéré et qqn pourra se loggeur à la place de l'utilisateur initial.
Je peux mettre dans mon cookie :
- soit le login et le mot de passe (encrypté md5)
- soit un string crée avec rand()
Je peux ensuite faire un contrôle avec une insertion en BDD de ce string, ou de l'ID de session, ou de ce que vous voulez ...
[b]MAIS[/b] quoi qu'il se passe, si qqn récupère le contenu du cookie a un moment ou un autre, il pourra renvoyer le contenu du cookie et entrer dans la console admin, vu que j'ai un autologin quand qqn se connecte avec les données de ce cookie.
[php]
//Autologin
if (isset($_COOKIE['session']) && $_COOKIE['session'] == '$controle')
{
$_SESSION['auth'] = 'ok'; //On autorise la session
}
//$controle = ce qu'on veut, enfin, ce qu'on a mis dans le cookie, que ce soit mot de passe, login, chaine au hasard
[/php]
Donc je fais quoi ? J'abandonne l'idée de l'autologin, ou y a-t'il un moyen de sécuriser ça a fond ?
Merci d'avance !