我有一个似乎无法从所有谷歌搜索中找出来的问题。我正在构建一个Rails应用程序,基本上是一个api应用程序。当我发出发布请求时,它向我返回错误“ InvalidAuthenticityToken”,因此我使用了
skip_before_action :verify_authenticity_token
经过一番谷歌搜索后,我发现不建议您跳过此操作,因为我们的应用容易受到CSRF攻击。我也使用门卫宝石进行身份验证。我的问题是,即使我拥有用于身份验证的守门员宝石,我的应用程序仍然容易受到攻击吗?
我还将这段代码放在我的应用程序控制器中,并删除了上面的代码
protect_from_forgery with: :null_session
这样安全吗?有人可以说如何正确实施吗?
答案 0 :(得分:0)
在您的应用中拥有CSRF攻击防护是很好的。在api中,您可以将此令牌添加到标头,并在前端和后端之间传递令牌。我使用了来自pragmatic studio的指南来在我的应用程序中进行设置:
https://pragmaticstudio.com/tutorials/rails-session-cookies-for-api-authentication
但是,我不知道它如何与门卫一起使用(还没使用过)。