Comment puis-je obtenir le module Rememberable à utiliser Devise http seulement pour le souvenir de moi cookie?
-
11-10-2019 - |
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
?
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.