用于移动设备的REST web API - CSRF保护


REST web API for mobile devices - CSRF protection?

我了解CSRF攻击和对它们的保护,我已经阅读了关于它的整个owasp页面,但是当谈到保护REST api时,我有点不知所措。

我正在为移动应用程序开发RESTful web API。为了验证用户,我使用了oauth服务器包(密码流授权)和我为facebook的手动登录流定制的社会授权(我们的数据库中有本地和facebook帐户)。这两种授权都会生成特定于应用程序的访问令牌,客户端(移动应用程序)会随着每个请求(在Authorization报头中)发送给服务器,以确保他/她是登录用户。

难道这不是单独减轻CSRF攻击窗口吗?如果没有,我应该做些什么来保护我的服务器免受这些攻击?

注:我想这里检查推荐人报头是没有用的,因为推荐人与我服务器的域名不同,对吧?

首先,CSRF攻击需要一个叫做browser的重要应用程序。没有人可以简单地欺骗您的移动应用程序将请求连同凭据一起发送到api服务器。因此,您的移动应用程序特别安全,不受CSRF攻击。

然而,如果你使用相同的api服务器与web前端通信(如果你的应用程序也有相应的web应用程序),问题就会出现。在这种情况下,你必须将移动应用和web前端的API服务器分开,使用CSRF预防ACTIVE来处理web前端的API调用。OR,你可以使用相同的API服务器,如果你能以某种方式区分调用和web &移动。