首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RailsTutorial.org和Remember_Tokens

RailsTutorial.org和Remember_Tokens
EN

Stack Overflow用户
提问于 2012-03-10 05:34:35
回答 2查看 174关注 0票数 0

在rails教程的第8章中,Michael Hartl介绍了“记住令牌”的概念,以便即使在浏览器关闭后也能记住会话。他提到,会话由指向用户的记忆令牌组成,而这个记忆令牌存储在用户对象中。

在本教程的前面,我们做了大量工作来散列密码,以便在数据库被攻破的情况下,密码仍然是安全的。然而,随着remember_tokens的引入,数据库漏洞将产生一个纯文本的记忆令牌,使得会话很容易伪造。

也许rails有一些固有的“魔力”(通常看起来是这样),即使使用适当、有效的记住令牌,也会阻止CSRF……有谁能开导我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-10 06:05:10

仅仅是将会话令牌存储在客户端(在cookie中)就会使您容易受到CSRF攻击。为了使您的应用程序能够安全地抵御rails中的此类攻击,您有一个助手,它在页面中添加一个CSRF令牌

代码语言:javascript
复制
<%= csrf_meta_tags %>

和一个过滤器(protect_from_forgery)

代码语言:javascript
复制
  class FooController < ApplicationController
    protect_from_forgery :except => :index

有关rails安全性的更多信息,请访问:http://guides.rubyonrails.org/security.html

票数 0
EN

Stack Overflow用户

发布于 2014-11-26 09:25:19

破坏数据库不会生成纯文本的记忆标记。

我们只将记住的令牌摘要保存到数据库。这些是散列的,就像早期的密码一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9641312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档