3

我们使用 Handlebars 模板来呈现来自我们的一个 API 的数据。数据包含 HTML 实体 - 例如:

Police officers won’t be able to fine you until 10 minutes after your ticket expires

到目前为止,我们已经使用 Handlebars 三重支架来让它们通过,例如:

<p class="title">{{{title}}}</p>

但我们的托管服务提供商告诉我们这是 XSS 风险,需要转义值。他们告诉我们使用{{ }},以便 Handlebars 逃脱它们。但是当我们这样做时,HTML 实体在前端显示为实体字符串。

谁能建议一种简单的方法,我们可以保护我们的客户端 Handlebars 模板免受跨站点脚本的影响,同时允许 HTML 实体使用最典型的 UTF-8 字符,如不间断空格 ( &nbsp;) 和左单引号 ( &#8216;)?我遇到了 Yahoo Secure Handlebars Helpers,但这似乎只适用于他们的Handlebars Context Pre-compiler,我不熟悉它,无论如何它似乎是一个服务器端实用程序。

4

0 回答 0