当前位置:  开发笔记 > 前端 > 正文

在unsache模板变量中混合unsanitized数据,HTML

如何解决《在unsache模板变量中混合unsanitized数据,HTML》经验,为你挑选了1个好方法。

我正在尝试将消息传递给看起来像这样的Mustache模板:

您提供的网址http://example.com无效.

用户指定URL,因此需要转义URL.但是我想在URL周围添加标签,因此它从周围的文本中脱颖而出,因此代码标签需要通过而不会被转义.

我可以这样写:

{{text_before_url}}{{url}}{{text_after_url}} 

但是,消息的文本各不相同,并不总是适合该结构.

我也可以尝试使用三个大括号输出原始文本{{{messages}}},并使用类似的东西转义URL htmlentities($url),但是如果有人稍后调整程序以传递新消息,并且传入数据而没有意识到它必须被转义,那么我们是在大XSS麻烦.

我可能只是运气不好,而且我理解拥有一个简单的模板引擎的价值,但有一些方法我可以告诉Mustache HTML标签是否正常,同时转出其余的输出?

凯文



1> Ronan..:

将导致在模板中使用{{variable}} 5> 2 5 > 2,其中{{{}}(3个胡须)的使用将导致5 > 2.

参看 文档:https://github.com/defunkt/mustache#escaping

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有