为什么禁止危险的 HTTP 方法不能只依赖前端路由或跨源预检
简答题中等784 次浏览
参考答案与解析
# 核心结论
禁止危险的 HTTP 方法必须在真正接收和处理请求的服务端落实,不能依赖前端路由隐藏入口,也不能把跨源预检是否通过当作安全边界。前端代码、按钮和路由都由客户端控制,攻击者可以绕过页面,直接使用脚本、代理工具或自定义客户端构造任意方法的请求。CORS 主要约束浏览器中的跨源脚本能否读取响应,并不约束非浏览器客户端;在部分场景中,即使响应不可读,请求也可能已经到达服务器并产生副作用。因此,服务端应建立明确的方法允许清单,并在反向代理、网关、应用路由、认证授权和审计层保持一致。
# 底层机制
浏览器对满足条件的跨源请求可能先发送 OPTIONS 预检,询问目标服务是否允许指定来源、方法和请求头。预检表达
