PHP mysql_real_escape_string()和%字符

A-O*_*-OK 3 php mysql security sql-injection wildcard

这是什么mysql_real_escape_string()做的%(百分号)字符,以及如何安全风险的多少不代表(以及如何解决它)?

Jas*_*ary 7

mysql_real_escape_string()文档:

注意:mysql_real_escape_string()不会转义%和_.如果与LIKE,GRANT或REVOKE结合使用,这些是MySQL中的通配符.

至于安全性,除非你正在运行LIKE,GRANT或者REVOKE,这是一个非问题.LIKE可能是唯一真正关心的问题.这取决于你在这些情况下如何逃避它.

一个简单的例子:

"... LIKE '%" . mysql_real_escape_string($string) . "%' ..."
Run Code Online (Sandbox Code Playgroud)