我最近从stripe.js v2移到了stripe.js v3 / elements。作为其中的一部分,我收到了新的CSP错误。这些似乎不会导致条带失败,但我想理解它们:
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src"). Source: ;undefined.
elements-inner-card-15fb9df8718486f330c3990dde96bfd7.html:1
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src"). Source: ;undefined.
controller-3984d4085075df939703ec0d22159407.html:1
elements-inner-card-15fb9df8718486f330c3990dde96bfd7.html
和controller-3984d4085075df939703ec0d22159407.html
都来自条纹。我不明白的是script-src
的{{1}}?
undefined
如何成为script-src
? undefined
元素通常有<script>
,如果不是src
。 unsafe-inline
是什么意思?
如何修改我的CSP以允许Stripe v3?
编辑:使用LastPass时,Firefox上似乎只会出现错误。 Chrome不会显示此错误,Firefox也不会显示Addons。
答案 0 :(得分:1)
对于像我这样的人,解决方案与“禁用插件”不同。
上下文:我在React中使用Stripe,并使用react-stripe-elements来实现。 执行此操作时出现CSP错误:
<form>
{loading ? <Spinner /> : <CardElement /> }
</form>
动态安装/卸载似乎在该处进行得不好。 我是这样修改的:
<form>
<div className={classnames({hidden: !loading})}><Spinner /></div>
<div className={classnames({hidden: loading})}><CardElement /></div>
</form>
当然有了hidden
的相应CSS,错误消失了。
希望它可以帮助一些迷失的灵魂:)