【发布时间】:2015-09-29 22:45:08
【问题描述】:
过去几年我一直在开发一个 Web 应用程序,最近通过添加内容安全策略使其更加安全。
我已经能够解决我发现的大部分问题,但我无法解决剩下的一个问题。每当在 underscore.js 中出现模板时,CSP 都会抱怨一条错误消息,因为我相信它使用了禁止;就是js代码“new Function(...)”。
我在网上看到过其他建议,基本上是:
- 使用引擎预编译模板,例如Grunt-inline-template-compile 这对于当您将模板字符串内联时很有用,我的模板字符串都在标签中的实际html 中,因此如果没有大量内容移动,这是不可能的。
- 切换到另一个模板引擎,这个选项会比以前更有吸引力,但我担心它会破坏所有下划线的模板语法行,并且本身就是一项巨大的工作。
还有其他人们知道的选择吗?
【问题讨论】:
标签: javascript templates underscore.js content-security-policy underscore.js-templating