过去几年我一直在开发一个Web应用程序,并且最近通过添加内容安全策略使其更加安全。
我已经能够解决我发现的大多数问题,但我无法解决剩下的一个问题。每当在underscore.js中出现模板时,CSP就会抱怨错误消息,因为我认为它使用了禁忌;是js代码“new Function(...)”。
我在网上看到了其他建议,基本上是:
人们都知道还有其他选择吗?
答案 0 :(得分:2)
尝试将Content-Security-Policy
标题设置为unsafe-eval
,以便将域中的脚本作为临时解决方法。 http://content-security-policy.com/
然后尽快移动到Handlebars等模板引擎。您可以将模板放在单独的html文件中,并将它们编译为javascript作为构建的一部分。这使您在开发时可以很好地分离html和js,但在浏览器中为生产版本中的用户提供了良好的性能