在Android开发中,防止跨站请求伪造(CSRF)是保障API安全的关键步骤。以下是常见防御方案及实现建议:

1. CSRF Token机制

🛡️ 在请求头或参数中携带一次性随机token,服务端校验token有效性
🔗 示例代码:

val token = generateSecureToken()
// 通过SharedPreferences存储token
// 请求时添加: headers["X-Csrf-Token"] = token
CSRF_Token_Mechanism

2. Referer头验证

🛡️ 校验请求来源域名,阻止非预期站点的请求
⚠️ 注意:移动端可能因浏览器兼容性导致Referer头丢失
🔗 配置参考:

// 添加OkHttp拦截器进行Referer验证

3. SameSite属性设置

🛡️ 在Cookie中设置SameSite=StrictLax
🔗 详细说明:Android网络安全最佳实践

4. Double Submit Cookie

🛡️ 客户端与服务端存储相同token,通过对比验证请求合法性
🔑 建议使用加密算法生成token:

val token = Base64.encodeToString(secureRandomBytes, Base64.NO_WRAP)

需要进一步了解安全防护体系可访问 安全开发专题 查看完整架构图。