退款接口支持表单提交且可能经过重定向时,服务端应怎样抵抗跨站请求伪造
简答题中等863 次浏览
参考答案与解析
# 核心结论
只要浏览器会自动携带身份凭证,跨站页面就可能诱导用户发出带登录态的请求,因此退款、改密、绑定账户等状态变更不能仅依赖“请求中存在会话”。服务端应组合使用不可预测且与会话绑定的防伪令牌、合理的 SameSite 属性、请求来源校验、严格的方法和内容类型约束,并对高风险动作增加近期认证或明确的用户确认。防护目标是证明请求由本应用页面按预期流程产生,而不是只证明浏览器认识当前用户。
底层机制在于同源策略通常限制攻击页面读取跨源响应,却不全面禁止发送表单、导航或资源请求。若目标站使用 Cookie 保存会话,浏览器会依据域、路径、Secure、SameSite 等规则决定是否附带它。攻击者不必知道会话
