5月30日 21:21

移动应用需要防 CSRF 吗?如何设计更安全?

移动应用通常不容易遇到传统 CSRF,因为原生 App 不会像浏览器那样自动把站点 Cookie 带到任意跨站请求里。但如果 App 使用 WebView、共享 Cookie、深链唤起、第三方登录页,或者后端同时服务 Web 和 App,就仍然要检查“请求是不是用户真实发起”。

追问

原生 App 用 Bearer Token 还需要 CSRF Token 吗?

大多数情况下不需要,因为 Bearer Token 不会被浏览器自动附加。但 Token 存储不安全会转成账号接管风险。

WebView 为什么要特别小心?

WebView 容易把 Web 的 Cookie 机制带回来,尤其是内嵌 H5、登录页和支付页。要限制可加载域名和不必要的 JavaScript Bridge。

深链会引入什么风险?

深链能成为触发器。危险操作不能打开链接后直接执行,必须让用户确认,并由服务端校验幂等号和权限。

后端同时支持 Web 和 App 怎么分策略?

Web 使用 Cookie + SameSite + Origin + CSRF Token;App 使用 Authorization 头和设备级安全存储。不要让 App 接口默认信任浏览器 Cookie。

标签:CSRF