我正在使用独立的 blaze 来动态渲染模板。到目前为止我很喜欢它的大部分内容,它快速进行细粒度 dom 更新的能力非常棒。
我遇到的问题是如何处理这样的情况:我通过 ajax 下载了模板,并且需要 blaze 来解析它,以便我可以将其注入(inject)到我的前端。
我这样做的原因是,我不希望在适当的用户登录之前下载 SPA 中需要身份验证的部分的模板。例如,一般用户永远不会下载管理页面。
别费心告诉我我在安全方面做错了,我已经在每个 API 请求中使用零信任模型,但如果您未经过身份验证,我想要的是另一种方式的零信任模型,您甚至看不到模板。
最佳答案
我通过稍微侧面解决问题,找到了一个可能的替代解决方案。
我的问题是我不希望管理页面和其他模板在 dom 检查器中可见。我宁愿根本不加载它们,但我还没有解决这个问题。
然而,我确实发现,一旦 Blaze 加载模板,您可以从 dom 中删除实际的模板代码,并且 blaze 仍将正确渲染它们。
这至少让我可以稍微混淆一下这些东西。有进取心的黑客仍然能够通过监控网络流量来获取这些模板,但至少它们不会公开。
使用此方法的适当安全性仍然需要缩小和混淆客户端代码,最好通过服务器上的 ACL 进行一定程度的保护,并调用使用某种形式的 ACL 验证的 API。
关于javascript - 如何让 Blaze(Meteor 模板引擎的独立部分)使用动态下载的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469899/