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

Stripe Checkout内容安全策略(CSP)错误排查求助

解决Stripe Checkout集成中的Content Security Policy(CSP)错误

问题背景

测试环境下Stripe Checkout支付流程可正常完成,但控制台出现大量CSP错误,影响开发体验且存在线上风险。

解决方案

CSP错误的核心原因是当前安全规则未允许Stripe Checkout所需的资源加载,需添加包含Stripe相关域名的CSP配置。

1. 前端页面添加CSP Meta标签

在index.html的<head>中插入以下CSP配置标签,允许Stripe的脚本、样式、iframe等资源:

<meta http-equiv="Content-Security-Policy" content="
  default-src 'self';
  script-src 'self' 'unsafe-inline' 'unsafe-eval' stripe.com m.stripe.com js.stripe.com;
  style-src 'self' 'unsafe-inline' stripe.com m.stripe.com js.stripe.com;
  frame-src stripe.com m.stripe.com;
  img-src 'self' data: stripe.com m.stripe.com *.stripe.com;
  connect-src 'self' api.stripe.com;
">

配置说明:

  • default-src 'self':默认仅允许自身域名资源
  • script-src:允许加载Stripe官方脚本域名,unsafe-inline/unsafe-eval为测试环境兼容所需,生产环境可根据Stripe规范调整
  • style-src:允许Stripe的样式资源加载
  • frame-src:允许嵌入Stripe Checkout的iframe
  • img-src:允许Stripe的卡片图标等图片资源
  • connect-src:允许向Stripe API发起请求

2. Firebase Hosting环境额外配置

如果使用Firebase Hosting部署,需在firebase.json中配置服务器级CSP Header(优先级高于页面meta标签):

{
  "hosting": {
    "headers": [
      {
        "source": "**",
        "headers": [
          {
            "key": "Content-Security-Policy",
            "value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' stripe.com m.stripe.com js.stripe.com; style-src 'self' 'unsafe-inline' stripe.com m.stripe.com js.stripe.com; frame-src stripe.com m.stripe.com; img-src 'self' data: stripe.com m.stripe.com *.stripe.com; connect-src 'self' api.stripe.com;"
          }
        ]
      }
    ]
  }
}

3. 验证效果

添加配置后重启开发服务器,触发Stripe Checkout流程,检查控制台是否仍有CSP错误。生产环境上线前,建议优化规则,移除不必要的宽松权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:20:41