【发布时间】:2011-08-01 10:11:11
【问题描述】:
我正在特别考虑登录表单:
就其性质而言,登录表单会阻止对任意输入的操作——如果没有有效的用户名和密码,您就会被退回。为什么这些甚至需要添加authenticity_token 或类似的跨站点请求伪造保护?
我很好奇登录表单是否是 CSRF 通常不受欢迎的一个例子:
给定一个匿名客户端,应该允许与站点的第一个联系点是发布有效的登录凭据。 CSRF 通过首先要求客户端执行 GET 以建立匿名会话 cookie 来防止这种直接交互,该 cookie 用作其authentity_token 的基础。然后必须使用登录凭据发回令牌。当这里的实际目标是验证没有会话到达并试图提供其凭据的用户时,额外的前期步骤似乎毫无意义。
在这种情况下我是否遗漏了一些安全注意事项?
【问题讨论】:
标签: ruby-on-rails security csrf authenticity-token