使用remote是否存在安全问题:在Rails 5中是否为true?

时间:2017-11-22 06:59:21

标签: ruby-on-rails ajax

使用remote时是否存在任何安全问题:对于Rails应用程序中的AJAX实现是否为true?

我是一名学习Ruby on Rails的学生,并且好奇为什么有些人(我们的老师)反对使用" remote:true" Rails中的功能,提到了安全性原因。

1 个答案:

答案 0 :(得分:1)

为确保您的表单提交安全,rails的表单帮助程序会自动生成跨站点请求伪造(CSRF),然后由表单提交时由服务器验证。

常规Ajax

开发人员经常在他们的控制器上添加skip_before_action :verify_authenticity_token以确保ajax请求在没有控制器抱怨的情况下通过,这不是一个好习惯。解决此问题的一种方法是将表单助手生成的CSRF令牌作为Ajax数据的一部分传递。

Rails' remote: true

这是remote: true解决的挑战。它将CSRF令牌传递给服务器,因此它是安全的。