12

我正在查看Underscore.js api,我注意到_.escape转义&, <, >, ", ', 和/字符。让我吃惊的是逃跑/

是否有理由逃避/我不知道的字符?

4

2 回答 2

17

编辑:好吧,显然,它是OWASP推荐的,因为它“有助于结束 HTML 实体”。

使用 HTML 实体编码转义以下字符,以防止切换到任何执行上下文,例如脚本、样式或事件处理程序。规范中建议使用十六进制实体。除了 XML 中重要的 5 个字符(&、<、>、"、')之外,还包括正斜杠,因为它有助于结束 HTML 实体。

& --> &amp;
< --> &lt;
> --> &gt;
" --> &quot;
' --> &#x27;     &apos; is not recommended
/ --> &#x2F;     forward slash is included as it helps end an HTML entity
于 2011-11-29T03:14:06.107 回答
0

很多时间过去了,但我发现了同样的问题。奇怪的是代码上的改动列表都是按照下划线github

var escapeMap = {
  '&': '&amp;',
  '<': '&lt;',
  '>': '&gt;',
  '"': '&quot;',
  "'": '&#x27;',
  '`': '&#x60;'
};
于 2020-08-20T21:20:30.810 回答