jquery - 注册表单上是否需要 CSRF 保护?

标签 jquery ruby-on-rails csrf

默认情况下,Rails 通过向站点生成的所有表单添加 authentication_token 来自动向所有表单添加 CSRF 保护。

我真的希望我的网站在首页上有一个简单的注册表单,当然它是一个静态 HTML 页面。理想情况下,这将完全避免触及 Rails 堆栈,从而使我能够向首页提供更多请求。

这样做的缺点是它使 CSRF 保护变得更加困难。

但我想知道是否真的有必要在注册表单上提供 CSRF 保护,因为 CSRF 攻击通常依赖于受害者登录,以便信任可以被利用。如果验证正确,注册表单将使用户登录,但我认为这对攻击者没有任何用处。

是否有对此的既定观点或使用 Rails/jQuery 的解决方法?

最佳答案

不,对于这种特定情况,不可以。 CSRF 攻击允许攻击者利用受害者拥有的权利, 例如bank.com/pay?ammount=1000&to=34.67.978.246

攻击登录表单是没有意义的,因为如果攻击者拥有成功攻击登录字段所需的信息(用户名和密码),他就可以自己登录。

Rails 在登录字段上使用 CSRF 保护的原因很简单:全局实现 CSRF 保护比 95% 的字段实现 CSRF 保护简单得多;)

关于jquery - 注册表单上是否需要 CSRF 保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602473/

相关文章:

jquery - jquery 拖动停止后 chrome 中的表格边框问题

javascript - 我可以用 javascript 生成 JSON 文件吗?

jquery - 显示单击单词的文本。 jQuery

ruby-on-rails - 在 Rails 3.2 中,如何为非常大的表设置 "pluck_in_batches"

ruby-on-rails - 如何从 ruby​​ 中的 xml 中删除数据类型信息?

ruby-on-rails - 有没有一个rails方法可以循环遍历上传文件的每一行? "each_line"是一个IO方法,但它不起作用

grails - CSRF和OWASP ZAP

jquery - 我如何检查我的访客是否已登录 Facebook?

ajax - 如何使用 express.js 在 Ajax 调用中实现 CSRF 保护(寻找完整示例)?

php - L5 随机 TokenMismatchExceptions