[Split] Sessions ou cookies signés ? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Split] Sessions ou cookies signés ? (/showthread.php?tid=5945) |
[Split] Sessions ou cookies signés ? - niahoo - 28-01-2012 (27-01-2012, 11:17 PM)Sephi-Chan a écrit : De mon côté, j'opte le plus souvent pour un cookie permanent et signé. Et je n'utilise jamais de sessions, seulement des cookies. Peux-tu en dire plus sur ce que tu appelles une « cookie permanent et signé » ? Si tu n'utilises pas de session, tu ne retiens rien sur l'utilisateur connecté au sein de ton application, tu stockes l'information dans une DB en RAM ? (redis ou autre ...) RE: email confirmation d'inscription et envois de mot de passe en clair - Sephi-Chan - 28-01-2012 (28-01-2012, 08:25 PM)niahoo a écrit : Peux-tu en dire plus sur ce que tu appelles une « cookie permanent et signé » ? Je retiens l'utilisateur connecté grâce au cookie qu'il a. Je ne stock pas du tout d'état côté serveur : ni dans un fichier, ni dans une base, ni en RAM, rien. Le cookie n'expire jamais et son contenu est chiffré : l'application le déchiffre à la volée quand elle le lit. Du coup son contenu est soit illisible, soit fiable.
RE: email confirmation d'inscription et envois de mot de passe en clair - php_addict - 28-01-2012 quel est l'avantage d'un cookie de cet type par rapport au cookie de start_session() en php ? mis à part de pouvoir déconnecter un joueur? (ce qui doit être possible en php avec session_set_save_handler et la gestion des $_SESSION en base de donnée) RE: email confirmation d'inscription et envois de mot de passe en clair - Sephi-Chan - 29-01-2012 (28-01-2012, 11:05 PM)php_addict a écrit : quel est l'avantage d'un cookie de cet type par rapport au cookie de start_session() en php ? mis à part de pouvoir déconnecter un joueur? (ce qui doit être possible en php avec session_set_save_handler et la gestion des $_SESSION en base de donnée) La possibilité de déconnecter le joueur n'est pas liée à la non-utilisation de sessions. Regarde bien ma méthode current_user : elle recherche un utilisateur selon son persistence_token .Si je change le persistence_token de mon utilisateur, la requête ne trouvera rien et la méthode current_user retournera nil : l'utilisateur ne sera donc plus considéré comme connecté.Note que la requête n'est effectuée qu'au premier appel de la méthode (au sein d'une même requête) : l'opérateur ||= n'évalue l'expression que si la variable d'instance @current_user est nil ou false . J'utilise cette astuce car j'appelle souvent cette méthode dans mes pages.Ensuite, l'utilisaton de cookies à la place de sessions est un choix : je préfère utiliser une approche stateless. Je n'ai pas besoin de stocker ça sur le serveur donc… Je ne le fais pas. De plus, une application stateless tient mieux la charge, même si ça ne me concerne pas pour le moment. RE: email confirmation d'inscription et envois de mot de passe en clair - niahoo - 29-01-2012 ok merci. Quel genre d'autres données stockes-tu en cookie également ? RE: email confirmation d'inscription et envois de mot de passe en clair - Angelblade - 29-01-2012 Personnellement j'utilise juste un cookie contenant un id de session. J'aime pas le $_SESSION de php. Je pense que les autres informations à mettre dans un cookie sont la langue et les petites préférences spécifiques à ton site. RE: email confirmation d'inscription et envois de mot de passe en clair - archANJS - 29-01-2012 N'y a-t-il pas un hic, côté sécurité, à utiliser les cookies au lieu des sessions? RE: email confirmation d'inscription et envois de mot de passe en clair - Sephi-Chan - 29-01-2012 (29-01-2012, 09:12 AM)Angelblade a écrit : Personnellement j'utilise juste un cookie contenant un id de session. J'aime pas le $_SESSION de php. Je ne comprends pas. Tu stock quoi dans ton cookie ? Car ce que tu décris, c'est le comportement par défaut de PHP : le fameux PHPSESSID qu'il transmet en cookie. (29-01-2012, 03:34 PM)archANJS a écrit : N'y a-t-il pas un hic, côté sécurité, à utiliser les cookies au lieu des sessions? Quel genre de soucis pourrait-il y avoir ? RE: email confirmation d'inscription et envois de mot de passe en clair - archANJS - 29-01-2012 Vols de cookies par exemple. Si j'arrive à voler ton cookie qui t'identifie automatiquement, je peux me connecter sur ton compte sans connaître ton mot de passe. RE: email confirmation d'inscription et envois de mot de passe en clair - Sephi-Chan - 29-01-2012 Si tu peux me voler ce cookie, tu peux aussi me voler celui contenant le PHPSESSID et le résultat sera le même. Il faut également penser à mettre le flag httponly aux cookies, ça permet de limiter les risques de vol via une faille CSRF. |