Javascript CSP收割台角度8项目中的block eval()

Javascript CSP收割台角度8项目中的block eval(),javascript,angular,eval,content-security-policy,Javascript,Angular,Eval,Content Security Policy,对于角度项目(当我不直接使用它时),我是否可以在CSP标题中阻止eval功能,或者在部署项目时是否存在任何会导致错误的副作用 谢谢,如果您设置默认的src或脚本,src指令eval将被阻止,除非您允许使用“不安全eval”。如果在任何脚本中调用eval、setTimeout、setInterval或new函数,它将被阻止。如果您担心某些内容可能会中断,请仅运行内容安全策略报告一段时间,然后检查发送的报告。我是否正确理解您的意思:因此,如果设置脚本src,不允许“不安全评估”,然后在我的Angul

对于角度项目(当我不直接使用它时),我是否可以在CSP标题中阻止eval功能,或者在部署项目时是否存在任何会导致错误的副作用


谢谢,如果您设置默认的src或脚本,src指令eval将被阻止,除非您允许使用“不安全eval”。如果在任何脚本中调用eval、setTimeout、setInterval或new函数,它将被阻止。如果您担心某些内容可能会中断,请仅运行内容安全策略报告一段时间,然后检查发送的报告。

我是否正确理解您的意思:因此,如果设置脚本src,不允许“不安全评估”,然后在我的Angular应用程序中使用setTimeout,这将被阻止?是的,您理解正确。如果没有
'safe-eval'
标记,所有eval表达式都将被阻止。但是对于
setTimeout()
/
SetInterval()
,有一点值得注意——只有当执行的函数作为参数传递时,这些才算作eval表达式。如果传递了匿名func或func名称-
setTimeout()
/
SetInterval()
将被视为安全且未被阻止。