源代码'undefined'的脚本在CSP中是什么意思?

时间:2018-04-30 08:55:17

标签: javascript firefox stripe-payments content-security-policy lastpass

我最近从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.htmlcontroller-3984d4085075df939703ec0d22159407.html都来自条纹。我不明白的是script-src的{​​{1}}?

  • undefined如何成为script-srcundefined元素通常有<script>,如果不是srcunsafe-inline是什么意思?

  • 如何修改我的CSP以允许Stripe v3?

编辑:使用LastPass时,Firefox上似乎只会出现错误。 Chrome不会显示此错误,Firefox也不会显示Addons。

1 个答案:

答案 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,错误消失了。

希望它可以帮助一些迷失的灵魂:)