2010-11-22 160 views
23

我很困惑什么是在Rails中使用的secret_token。任何人都可以解释它用于什么吗?将此令牌放入公共源代码存储库并在生产环境中使用它可以吗?或者在部署我的应用程序之前更改它以防止某些类型的攻击?Rails秘密令牌

回答

31

回答我自己的问题 - secret_token用于防止Cookie在Rails中被篡改。每个cookie都会保存一个校验和,因此用户不会修改cookie内容(例如,更改保存的用户ID来窃取某人的帐户)。校验和基于cookie内容和secret_token,因此如果您使用的是基于cookie的会话,您应该始终确保您的secret_token真的是秘密的,否则您不能相信您投入会话的任何内容都会保持不变。

相关问题