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

Laravel+Vue集成Stripe遇unsafe-eval CSP警告及脚本加载问题

Vue+Laravel集成Stripe的CSP安全警告解决办法

问题核心

之前页面头部引入Stripe v3脚本一切正常,近期控制台弹出CSP安全警告,提示unsafe-eval不在允许的脚本源范围内;手动添加CSP meta标签后,其他脚本又被拦截——原因是新配置的CSP只包含了Stripe相关源,漏掉了项目里其他必要的脚本地址。

具体解决步骤

1. 优先用Laravel后端配置CSP(不推荐用meta标签)

Laravel项目通过后端配置CSP更稳妥,比如使用spatie/laravel-csp扩展:

  • 安装扩展后,在config/csp.php的script-src数组中补充所需源:
return [
    'default' => [
        'script-src' => [
            'self',
            'unsafe-eval', // Stripe内部运行必须依赖该规则
            'https://js.stripe.com',
            'https://m.stripe.network',
            // 补充你项目中其他依赖的脚本源,比如Vue开发服务器地址、第三方CDN等
        ],
        // 按需配置其他资源规则
        'style-src' => [
            'self',
            'unsafe-inline',
            'https://js.stripe.com',
        ],
        'img-src' => [
            'self',
            'data:',
            'https://*.stripe.com',
        ],
    ],
];

配置后后端会自动在响应头注入正确的CSP规则,不会覆盖原有合法配置。

2. 若必须使用meta标签配置

一定要把项目所有依赖的脚本源都加入,不能只包含Stripe相关:

<meta http-equiv="Content-Security-Policy" content="
    script-src 'self' 'unsafe-eval' https://js.stripe.com https://m.stripe.network 'sha256-e/Jqu4k9Gk1ZCWO6StAsfhF3i7qgIwfuitaD1g9DyvE=' 你的其他脚本源地址;
    style-src 'self' 'unsafe-inline' https://js.stripe.com;
    img-src 'self' data: https://*.stripe.com;
"/>

比如项目用到的axios CDN、UI库脚本地址等,都要补充到script-src中,否则会被拦截。

3. 排查遗漏的脚本源

如果仍有脚本被拦截,打开浏览器开发者工具的Security面板,里面会显示被拦截的脚本URL,将该URL添加到script-src即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:23:03