我正在尝试使用 JSON 使 iOS 应用程序与 Ruby on Rails 网站进行通信。在尝试发布登录以创建用户会话时,我发现我缺少一个 CSRF 令牌。我根本不知道那是什么,所以我开始研究它,并找到了一些解决方案,如果调用格式为“application/json”,则可以删除 CSRF 保护。但这听起来会让网站容易受到攻击?
出现了一些关于 JS 表单存在相同问题的结果。那里的答案是添加到 CSRF 令牌中。经检查,它似乎也位于页眉的元内容标记中。
所以这让我感到困惑,这是我的问题:
- 如果可以在攻击调用之前的调用中读取令牌,它如何帮助保护任何东西?恶意站点能否不简单地发出请求,解析收到的消息,然后使用令牌发送另一个请求?
- 在登录发布操作上禁用令牌检查并让它与成功响应一起发回令牌是否安全?如果没有,有更好的建议吗?