Som*_*ody 5 javascript xss html-sanitizing
目前我正在使用这种方法与jQuery解决方案,以清除可能的XSS攻击字符串.
sanitize:function(str) {
// return htmlentities(str,'ENT_QUOTES');
return $('<div></div>').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');
}
Run Code Online (Sandbox Code Playgroud)
但我觉得它不够安全.我错过了什么吗?
我在这里试过phpjs项目的htmlentities:http://phpjs.org/functions/htmlentities:425 /
但它有点被窃听并返回一些额外的特殊符号.也许这是旧版本?
例如:
htmlentities('test"','ENT_QUOTES');
Run Code Online (Sandbox Code Playgroud)
生产:
test&quot;
Run Code Online (Sandbox Code Playgroud)
但应该是:
test"
Run Code Online (Sandbox Code Playgroud)
你是如何通过javascript处理的?
如果您的字符串应该是没有 HTML 格式的纯文本,只需使用.createTextNode(text)/assigning 到.data现有文本节点的属性。无论您放在那里什么,都将始终被解释为文本,不需要额外的转义。
| 归档时间: |
|
| 查看次数: |
16310 次 |
| 最近记录: |