Comment puis-je obtenir le module Rememberable à utiliser Devise http seulement pour le souvenir de moi cookie?

StackOverflow https://stackoverflow.com/questions/4468100

Question

Les rails cookie de session est HttpOnly par défaut, mais l'ensemble des cookies de remember_user_token par le module Rememberable de ne Devise.

Si je comprends bien ce cookie lors de l'envoi se traduira par l'utilisateur étant émis un nouveau cookie de session, aussi sûrement qu'il est aussi vulnérable à XSS.

est-il possible de le mettre à HttpOnly?

Était-ce utile?

La solution

Avec l'aide de @camonz sur #rubyonrails je suis venu avec ce patch de singe: https://gist.github.com/749289

Dans les options 1.1.3 Devise cookie sont codés en dur donc un patch de singe est tout ce que je pouvais penser fonctionnerait.

Cependant, 1.2rc ressemble Concevoir, il permet la configuration, car il tire dans resource.cookie_options. (Par exemple en tirant cookie_options du modèle de l'utilisateur, de sorte que vous devriez pouvoir le mettre là en quelque sorte - n'ont pas compris cela encore)

P.S. Je ne l'ai pas compris comment tester ce encore. Pour tester manuellement dans le commutateur Chrome à l'onglet cookie est défini, ouvrez Outils de développement avec Alt + Cmd + I, passez à l'onglet Stockage, cliquez sur l'élément sous la rubrique « Cookies » (localhost dans mon cas), et regardez le HTTP colonne. Il y aura une coche si le cookie est HttpOnly. Pour référence les rails cookie de session, appelé _session_id par défaut, est HttpOnly par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top