我正在查看Underscore.js api,我注意到_.escape
逃脱&
,<
,>
,"
,{{1 }和'
个字符。让我感到惊讶的是逃避/
。
是否有理由逃避我不知道的/
个字符?
答案 0 :(得分:15)
编辑:好的,显然,OWASP推荐它,因为它“有助于结束HTML实体”。
使用HTML实体编码转义以下字符以防止 切换到任何执行上下文,例如脚本,样式或事件 处理程序。规范中建议使用十六进制实体。此外 在XML(&amp;,&lt;,&gt;,“,'),前锋中有5个字符 包含斜杠,因为它有助于结束HTML实体。
& --> &
< --> <
> --> >
" --> "
' --> ' ' is not recommended
/ --> / forward slash is included as it helps end an HTML entity
答案 1 :(得分:0)
很多时间过去了,但我发现了同样的问题。奇怪的是,代码上的更改列表是根据underscore github
var escapeMap = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'`': '`'
};