我找不到一个好的字符串清理功能,可以在HTML中安全使用。我想知道这是否是一个好方法:
String.prototype.sanitize = function() {
return $('<div></div>').text(this).html();
}
答案 0 :(得分:4)
对XSS进行消毒,是的。对于SQL注入的清理,没有。
答案 1 :(得分:1)
删除jquery要求更好(并且仍然很容易):
String.prototype.htmlspecialchars = function() {
var span = document.createElement('span'),
txt = document.createTextNode(this);
span.appendChild(txt);
return span.innerHTML;
}
与document
的耦合仍然不是很糟糕,因为无论如何它都会被使用,但我更喜欢在this answer中使用连续的String.replace()
。