在 Rails 教程的第 8 章中,Michael Hartl 介绍了“记住令牌”的概念,以便即使在浏览器关闭后也能记住会话。他提到一个会话由一个指向用户的记忆令牌组成,这个记忆令牌存储在一个用户对象中。
在本教程的前面部分,我们进行了大量工作来对密码进行哈希处理,这样如果我们的数据库遭到破坏,我们的密码仍然是安全的。然而,随着 remember_tokens 的引入,数据库泄露将产生一个纯文本的记忆令牌,从而使会话易于伪造。
也许有一些固有的“魔法”(通常似乎是这种情况),即使使用适当、有效的记忆令牌也会阻止 CSRF ......有人能启发我吗?