标准答案
- 当认证凭据自动随跨站请求发送时,攻击者不需要读到响应,也可能让用户浏览器以其登录身份提交转账、改邮箱或绑定操作。
- SameSite Cookie 可以减少许多跨站携带场景,但不能替代所有防护;具体效果取决于 SameSite 值、浏览器兼容、顶级导航和业务部署方式。
- 常见防护包括 CSRF token、双重提交 Cookie、校验 Origin 或 Referer,以及对敏感写操作要求重新认证或二次确认。
- 把访问令牌放在非自动携带的 Authorization Header 中通常降低传统 CSRF 风险,但会引入 XSS 窃取和安全存储问题,不能简单认为更安全。
- 无论认证方式如何,服务端都必须验证用户权限、资源归属和请求语义,CSRF 防护只解决跨站伪造这一类风险。
题目解析
CSRF 与 CORS 的方向不同:CORS 约束浏览器脚本能否读取跨源响应,CSRF 防护关注浏览器是否会带着身份执行不该执行的写操作。
只对页面表单防护而漏掉 JSON API、文件上传、账户设置和第三方回调入口,会留下实际攻击路径。
常见误区
- 认为设置了 CORS 就不需要 CSRF 防护。
- 把 CSRF token 放在攻击者同样可伪造或自动携带的位置。
- 因为使用 JWT 就完全不评估 Cookie、XSS 和敏感操作的风险。