我正在尝试实施内容安全政策。
除了包含外部js文件外,我的HTML文件不包含任何JavaScript代码。但控制台仍然说:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:
所以我的问题是:
包含<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
之类的外部JavaScript文件
被视为“内联脚本”?
如果是这样,我该怎么做才能通过CSP允许这些脚本?我已经尝试在我的脚本中使用nonce
,但它总是说:
未定义的属性名称(nonce)
开发工具(例如Google Chrome)是否提供了查看哪个内联脚本会产生错误的功能?
由于
答案 0 :(得分:0)
script-src
属性中指定外部来源就足够了,例如script-src 'self' https://code.jquery.com/jquery-1.12.4.js
但真正帮助我的是here。
始终定义default-src非常重要。否则,指令将默认允许所有资源
在我的情况下,将default-src 'self'
添加到CSP可以消除错误!