2010-11-22 6 views
23

Je ne comprends pas très bien à quoi sert secret_token dans Rails. Quelqu'un peut-il expliquer à quoi il sert? Est-il acceptable de placer ce jeton dans un référentiel de source publique et de l'utiliser en production, ou bien de le changer avant de déployer mon application pour éviter certains types d'attaques?Jeton secret Rails

Répondre

31

Répondre à ma propre question - secret_token est utilisé pour empêcher la falsification des cookies dans Rails. Chaque cookie a une somme de contrôle enregistrée avec lui, ainsi les utilisateurs ne modifieront pas le contenu des cookies (et changeront l'identifiant de l'utilisateur enregistré pour voler le compte de quelqu'un, par exemple). La somme de contrôle est basée sur le contenu des cookies et secret_token, donc si vous utilisez des sessions basées sur les cookies, vous devez toujours vous assurer que votre secret_token est vraiment secret, sinon vous ne pouvez pas croire que tout ce que vous avez mis en session est revenu.