为什么简单的按钮标记会导致CSP违规?

时间:2018-04-26 23:05:55

标签: content-security-policy

我知道这听起来很奇怪,但我花了3个小时检查它。一个简单的HTML

<button></button>

在Firefox或Chrome中返回

Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src”).

没有额外的信息,没有行,没有文件,没有。我用<input type="button"/>替换了相同的CSS,现在它可以正常工作。

仅供记录,我的CSP&#39; script-src&#39;规则是

script-src 'self' 'unsafe-eval' 'unsafe-inline' 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa' 'strict-dynamic' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://www.google-analytics.com/analytics.js https://api.uber.com https://cdnjs.cloudflare.com/ajax/libs/jsSocials/1.5.0/jssocials.min.js

1 个答案:

答案 0 :(得分:0)

我替换为

<input type="button"/> 

使用相同的CSS类,现在可以使用了。这些CSP规则真的很奇怪和错误。

如果没有type,则button会隐式收到type=submit。表单中有多少提交按钮或输入无关紧要,其中任何一个显式或隐式输入为提交,单击时,将提交表单,因此 - 我认为 - 导致CSP出现问题。