车把三重隐藏以避免转义 html 个实体
Handlebars triple-stash to avoid escaping html entities
我使用 handlebars,如果处理 '
等转义字符,它会在屏幕上呈现为 '
。
我知道将变量包装在三重存储中可以防止这种情况。
我在三重存储中处理了以下字符串作为快速测试,它看起来很好“<p>hello<p>
wouldn't wouldn't wouldn'
t”这完全按照我想要的方式呈现到屏幕上.
我的问题是,简单地将所有变量包装在三重存储中是否安全?还是会产生一些我没有考虑到的不可预见的后果?
谢谢
默认情况下,Handlebars 中所有双重隐藏的 {{var}}
嵌入都将被 HTML 转义。出于安全原因执行此操作以避免 DOM XSS 漏洞。因为您的变量可能包含任何数据,包括用户数据或任何类型的不受信任的数据。
在某些情况下,您需要按原样嵌入数据,而不进行转义。那里使用了 tripple-stash {{{var}}}
。但每次这样做时,您都需要思考 您的数据中可能包含什么,您可以信任它吗?
在 Handlebars 网站上阅读有关 HTML Escaping 的更多信息。
我使用 handlebars,如果处理 '
等转义字符,它会在屏幕上呈现为 '
。
我知道将变量包装在三重存储中可以防止这种情况。
我在三重存储中处理了以下字符串作为快速测试,它看起来很好“<p>hello<p>
wouldn't wouldn't wouldn'
t”这完全按照我想要的方式呈现到屏幕上.
我的问题是,简单地将所有变量包装在三重存储中是否安全?还是会产生一些我没有考虑到的不可预见的后果?
谢谢
默认情况下,Handlebars 中所有双重隐藏的 {{var}}
嵌入都将被 HTML 转义。出于安全原因执行此操作以避免 DOM XSS 漏洞。因为您的变量可能包含任何数据,包括用户数据或任何类型的不受信任的数据。
在某些情况下,您需要按原样嵌入数据,而不进行转义。那里使用了 tripple-stash {{{var}}}
。但每次这样做时,您都需要思考 您的数据中可能包含什么,您可以信任它吗?
在 Handlebars 网站上阅读有关 HTML Escaping 的更多信息。