事实证明,mysql_real_escape_string()非常简单。根据文档:
mysql_real_escape_string()
调用MySQL的库函数mysql_real_escape_string,该函数将反斜杠添加到以下字符前: x00, n, r,,’,’和
x1a。
实际上听起来很简单。您可以执行以下 *** 作:
function mysql_real_escape_string (str) { return str.replace(/[x08x09x1anr"'\%]/g, function (char) { switch (char) { case "": return "注意"; case "x08": return "\b"; case "x09": return "\t"; case "x1a": return "\z"; case "n": return "\n"; case "r": return "\r"; case """: case "'": case "\": case "%": return "\"+char; // prepends a backslash to backslash, percent, // and double/single quotes default: return char; } });}
mysql_real_escape_string()
:我还没有通过任何类型的单元测试或安全测试来运行它,但是它确实可以工作,并且,作为一个额外的好处,它转义了制表符,退格键和’%’,因此也可以使用按照OWASP的建议在LIKE查询中使用(不同于PHP原始版本)。
我确实知道这是字符集感知的,但是我不确定这会带来什么好处。
在这里对这些问题进行了很好的讨论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)