You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Stripe Webhook签名时是否需要拒绝未签名事件

关于示例代码中else分支的说明

为什么官方示例会同时支持两种处理逻辑

Stripe的官方示例是面向全阶段开发者的通用代码,保留else分支是为了降低上手门槛:

  • 初学者本地调试、快速验证业务逻辑时,可能还没完成Webhook签名配置,甚至会手动构造测试事件,else分支可以让他们暂时跳过验签环节,先跑通核心业务流程
  • 代码注释里也明确标注了,该分支仅用于未配置签名的场景,本身就不推荐生产环境使用

配置签名后必须删除else分支

你的判断完全正确:保留else分支会彻底抵消Webhook验签的安全作用。
如果不删这个分支,攻击者只要故意不带stripe-signature请求头调用你的Webhook接口,代码就会直接进入else分支,不会做任何合法性校验,攻击者可以随意伪造支付成功、订阅开通的事件,触发你这边的权益发放逻辑,直接造成资金损失。

生产环境额外注意事项

  • 删除else分支后,可额外增加前置校验:如果请求头中没有stripe-signature,直接返回400拒绝请求,不需要走后续验签逻辑
  • Webhook接口必须保留原始请求体用于验签,不要用服务端框架的JSON解析中间件提前处理请求体,否则会导致验签失败

内容的提问来源于stack exchange,提问作者TinyTiger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:57:04