Rails秘密令牌

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

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