理解Rails的真实性令牌我在Rails中遇到了一些关于真实性令牌的问题,因为我现在已经有很多次了。但我真的不想只解决这个问题继续下去。我真的很想了解真伪标记。好吧,我的问题是,你是否有关于这个问题的完整的信息来源,或者你是否会花时间在这里详细解释?
3 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
什么是CSRF?
假想:
访问你银行的网站,登录。 然后访问攻击者的站点(例如,来自不受信任组织的赞助广告)。 攻击者的页面包括与银行“转移资金”表单相同字段的表单。 攻击者知道您的帐户信息,并有预先填写的表单字段,以将资金从您的帐户转移到攻击者的帐户。 攻击者的页面包括向银行提交表单的Javascript。 当表单提交时,浏览器将包含银行站点的cookie,包括会话令牌。 银行把钱转到攻击者的账户上。 表单可以是不可见的iframe,所以您永远不知道攻击发生了。 这被称为跨站点请求伪造(CSRF)。
CSRF溶液:
服务器可以标记来自服务器本身的表单。 每个表单必须包含一个附加的身份验证令牌作为隐藏字段。 令牌必须不可预测(攻击者无法猜测)。 服务器在其页面中的窗体中提供有效的令牌。 当表单发布时,服务器检查令牌,拒绝没有正确令牌的表单。 示例令牌:使用服务器密钥加密的会话标识符。 Rails会自动生成这样的令牌:请参见每种形式中的RETURY_TOKEN输入字段。
- 3 回答
- 0 关注
- 567 浏览
添加回答
举报
0/150
提交
取消