把手三重藏匿以避免逃脱html实体

Dav*_*idB 10 encoding handlebars.js

我使用把手,如果处理了转义字符,'它会在屏幕上呈现为'.

我知道将变量包装在三重存储中会阻止这种情况.

我在三重存储中处理了以下字符串作为快速测试,它似乎很好" <p>hello<p>不会不会&#39;"这呈现屏幕确切地说我想要它.

我的问题是,简单地将所有变量包装在三重存储中是否安全?或者这会有一些我未考虑过的无法预料的后果吗?

谢谢

rai*_*dev 27

默认情况下{{var}},Handlebars中的所有双存储嵌入都将进行HTML转义.出于安全原因执行此操作以避免DOM XSS漏洞.因为您的变量可能包含任何数据,包括用户数据或任何类型的不受信任数据.

在某些情况下,您需要按原样嵌入数据,而不必转义.有{{{var}}}使用tripple-stash的地方.但每次这样做,你需要考虑什么可能是你的数据,你可以信任它?

阅读更多关于Handlebars网站上的HTML Escaping的信息.