gpt4 book ai didi

escaping - 在 mustache 模板变量中混合未净化的数据、HTML

转载 作者:行者123 更新时间:2023-12-05 01:36:33 27 4
gpt4 key购买 nike

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

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

用户指定了 URL,因此需要对 URL 进行转义。但是我想放 <code> URL 周围的标签,因此它从周围的文本中脱颖而出,因此代码标签需要通过而不被转义。

我可以这样写:

{{text_before_url}}<code>{{url}}</code>{{text_after_url}} 

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

我也可以尝试用三个大括号输出原始文本, {{{messages}}} ,并使用类似 htmlentities($url) 的内容转义 URL ,但是如果后来有人修改程序以传入新消息,并且在没有意识到必须转义的情况下传入数据,那么我们就遇到了很大的 XSS 麻烦。

我可能只是运气不好,我理解拥有一个简单的模板引擎的值(value),但是有什么方法可以告诉 Mustache HTML 标签是好的,同时转义其余的输出?

凯文

最佳答案

在 5 > 2 的模板中使用 {{variable}} 将导致 5 &gt; 2 ,其中使用 {{{variable}}}(3 个 mustache )将导致 5 > 2 .

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

关于escaping - 在 mustache 模板变量中混合未净化的数据、HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7990647/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com