出于安全原因,内容安全政策是我们的互联网信息服务器强制性的。为此,响应标头存储在IIS中,如下所示,不得更改:名称:内容安全策略**值:**default-src 'none';script-src 'self';connect-src 'self';img-src 'self'数据:blob:; style-src 'self';frame-src 'self';
如果使用aframe.js,则在所有浏览器(Chrome,Firefox和Edge)中都会发生错误:未捕获的EvalError:拒绝将字符串计算为JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“script-src 'self'"。
尽管设置了内容安全策略,aframe如何允许您使用?我怎么能换一张脸。js,这样就不会出错了。
不能更改IIS的内容安全策略设置!
1条答案
按热度按时间sirbozc51#
许多JavaScript库、框架和插件依赖于使用“eval()”或类似函数来动态生成和执行代码。如果CSP不允许使用“unsafe-eval”,这些脚本可能无法正常工作,并出现以下错误:
未捕获的EvalError:拒绝将字符串计算为JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“script-src 'self'"。
但是添加一个特定的CSP指令来允许对aframe进行“不安全的评估”。js将需要修改IIS的CSP设置,允许“unsafe-eval”会带来安全风险,确实应该谨慎使用。
也许您可以修改脚本以删除“unsafe-eval”的使用,这可以通过预编译脚本代码而不是使用“eval”函数来完成。