我很困惑Rails中使用的secret_token是什么。任何人都可以解释它的用途吗?将此令牌放在公共源存储库中并在生产中使用它是否可以,或者我应该在部署应用程序之前更改它以防止某些类型的攻击?
答案 0 :(得分:31)
回答我自己的问题 - secret_token用于防止Rails中的cookie被篡改。每个cookie都有一个保存的校验和,因此用户不会修改cookie内容(例如,更改已保存的用户ID以窃取某人的帐户)。校验和基于cookie内容和secret_token,所以如果你使用基于cookie的会话,你应该总是确保你的secret_token真的是秘密的,否则你不能相信你投入会话的任何内容都没有改变。