Pode haver alguma preocupação de segurança ao usar o remote: true para implementação de AJAX em aplicativos Rails?
Eu sou um estudante aprendendo Ruby on Rails e fiquei curioso porque alguns (nosso professor) se opõem a usar o recurso "remote: true" no Rails, mencionando as razões de segurança.
Respostas:
1 para resposta № 1Para garantir o envio do formulário, o auxiliar de formulários do Rails gera automaticamente CSRF (Cross-Site Request Forgery), que é validado pelo servidor no envio do formulário.
Ajax regular
Muitas vezes os desenvolvedores adicionam skip_before_action :verify_authenticity_token
em seu controlador para se certificar de pedido ajaxpassa sem controlador reclamando sobre isso, o que não é uma boa prática. Uma maneira de contornar isso é passar o token CSRF gerado pelo auxiliar de formulário como parte dos dados do Ajax.
Rails "s remote: true
Este é o desafio resolvido por remote: true
. Ele passa o token CSRF para o servidor, portanto, é seguro.