1
14
http://ejohn.org/blog/javascript-micro-templating/ 是一个非常聪明的黑客。最终结果是非常清楚的。 |
2
8
我也更喜欢带有客户端HTML创建逻辑的JSON响应。 不幸的是,大多数真实的客户端HTML编写脚本都被破坏了,其中包含许多HTML注入缺陷,这些缺陷很容易成为跨站点脚本安全漏洞。我认为这是因为你在和自己的服务器交谈,而不是直接和一个敌对的用户交谈,你在某种程度上是“安全”的,并且在将它们插入HTML时,可以在没有正确字符串的情况下逃脱。这当然是胡说八道。 我总是看到这样的东西:
或:
或者确实是Resig的微模板化黑客,默认情况下没有HTML转义。来 在 人们!我们刚刚开始清理为服务器端XSS提供服务的坏掉的PHP脚本的遗留问题,现在您想介绍一个全新的大量客户端XSS漏洞? 叹息。这就是弦的诱惑。我们认为我们理解他们,可以随意地把他们吊在一起。但是字符串是危险的,具有隐藏的上下文和转义的需求。如果必须在客户端生成HTML,则需要这样的函数:
但我个人更喜欢dom方法。与SQL的参数化一样,使用DOM方法通过直接将原始字符串与将使用它们的组件进行对话,将字符串从公式中删除。好的,dom的问题是它相当冗长:
但是,您可以定义helper函数来减少这一点,例如:
(jquery 1.4中的新元素创建工具使用了类似的样式。) |
3
3
+一年前,我们启动了一个新的Web应用程序,需要一种在浏览器中从JSON数据呈现HTML的方法。
我们的答案是JS模板引擎 PURE . 与大多数JS模板化libs不同,它使HTML保持不变(根本没有奇怪的标签),除了一些符号之外,它没有带来新的语言来学习,只有JS和HTML。
我使用它的方式:
|
4
1
我们有一个系统,其中很多数据作为JSON从服务器传递,然后通过客户机端的JavaScript模板引擎进行处理。在.NET 4.0中(可能甚至是3.5 SP1,我不确定),可以使用 Client Templates . 比起发送HTML,我更喜欢传递JSON。将数据和视图分开总是好的。 |
5
0
如果您想要保留MVC框架,您应该让您的模板框架进行模板化。 Ajax应该只执行服务器请求,服务器请求执行所有数据库和业务逻辑,然后将URL返回到应该加载的模板。 |
Dawid ZbiÅski · 使用细枝创建现成的共享元素 7 年前 |
Adam NA · 如何在自定义类实例上执行cmath函数? 7 年前 |
Tech Guy · 气流XCom在模板内发送变量 7 年前 |
Fedoranimus · Aurelia if中的结合表达。绑定 7 年前 |
Matt Cook · 如何使Python PEP8中的模板兼容? 7 年前 |
shangsunset · 存储文件夹中的编译视图与实际视图文件不同 9 年前 |
Gravy · Laravel刀片模板部分重复/缓存错误 11 年前 |