我想尝试一种流行的HTML模板语言,看看我是否可以解决其中的XSS问题。什么是流行的,开源的,模板化的语言,我可以尝试解决。
通过模板化语言,我的意思是用于通过将输出语言中的静态内容与来自其他源的动态数据相结合来生成输出语言的语言。例如。 PHP通常用作HTML / CSS / JS的模板语言,而XSLT是XML的模板语言。
理想的模板语言是
想法是
<a href="
,那么我将移动到我期望URL的一部分的上下文。当我到达分支或循环时,单独跟随每个分支,然后加入上下文。expectHtml(...)
,expectJsValue(...)
等适当编码动态值的函数。例如。 expectHtml(...)
将<
转换为<
。expectHtml(...)
不会转义Html
类型的值,因为它假定来自knownSafeHtml(...)
或stripBadTags(...)
等安全来源