Javascript 内容安全策略(CSP)块评估方法调用
我正在使用Javascript 内容安全策略(CSP)块评估方法调用,javascript,node.js,content-security-policy,Javascript,Node.js,Content Security Policy,我正在使用nicEditor,在nicEditor中有一个名为eval的方法被CSP阻止。当我注释掉CSP代码时,它工作正常 Error: call to eval() blocked by CSP nicEdit.js:779:36 我的CSP代码: scriptSrc: ["'self'", "'unsafe-inline'"] 我也读了 提前感谢如果您确实需要使用包含eval的nicEditor(一开始可能不是个好主意),您可以添加以下指令: 我真的,真的,建议您只使用不同的编
nicEditor
,在nicEditor
中有一个名为eval
的方法被CSP
阻止。当我注释掉CSP
代码时,它工作正常
Error: call to eval() blocked by CSP nicEdit.js:779:36
我的CSP代码:
scriptSrc: ["'self'", "'unsafe-inline'"]
我也读了
提前感谢如果您确实需要使用包含
eval
的nicEditor
(一开始可能不是个好主意),您可以添加以下指令:
我真的,真的,建议您只使用不同的编辑器,而不依赖于eval
。在大多数情况下,这确实是一种安全风险
如果您需要一个替代方案,请查看示例。如果您确实需要使用包含
eval
的nicEditor
(一开始可能不是一个好主意),您可以添加以下指令:
我真的,真的,建议您只使用不同的编辑器,而不依赖于eval
。在大多数情况下,这确实是一种安全风险
如果您需要其他选项,请查看示例。相关行位于
nicEditorPanel
的addButton
功能中(我的第682行):
将其替换为:
var type = (button['type']) ? (typeof(button['type']) == "undefined") ? null : window[button['type']] : nicEditorButton;
我在做谷歌浏览器扩展时遇到了这个问题。Chrome Extensions loader不允许我在CSP权限中使用“不安全评估”。无论如何,如上所述,出于安全原因,最好不要这样做。看看代码,它看起来像是在使用eval()
根据字符串的名称调用构造函数
由于所有全局函数都是
窗口
对象的属性,因此我的更改以字符串形式调用构造函数的名称(按钮['type']
)作为窗口的属性,而不是简单地对其求值。所讨论的行位于nicEditorPanel
的addButton
函数中(我的第682行):
将其替换为:
var type = (button['type']) ? (typeof(button['type']) == "undefined") ? null : window[button['type']] : nicEditorButton;
我在做谷歌浏览器扩展时遇到了这个问题。Chrome Extensions loader不允许我在CSP权限中使用“不安全评估”。无论如何,如上所述,出于安全原因,最好不要这样做。看看代码,它看起来像是在使用eval()
根据字符串的名称调用构造函数
由于所有全局函数都是窗口
对象的属性,因此我的更改以字符串形式调用构造函数的名称(按钮['type']
)作为窗口的属性,而不是简单地对其求值。不要使用eval()
。不要使用eval()
。