我读了很多关于常见SQL注入的东西,所以对如何解决它们感兴趣。在我刚刚使用 addslashes()
之前,我认为它很合适。然后我发现mysql(i)_real_escape_string()
比addslashes()
更有用和可信。从那时起我使用mysqli_real_escape_string()
,但最近我陷入了一些我还没有真正理解的东西。 我有一些关于发送数据到MySQL和字符集的问题。 因此,我再次搜索,许多用户表示SET NAMES UTF8
是让所有事情顺利进行的方法。 但后来我读到,使用该查询使得mysqli_real_escape_string()
无法正常工作。转义sql语句的正确方法是什么?
所以毕竟我有点困惑。
转义sql语句的正确方法是什么?
使用SET NAMES UTF8
有什么可能的漏洞利用?
是mysqli_set_charset()
使连接在指定字符集中通信的正确方法是什么?
使用mysqli_sey_charset()
是mysql的内部变量cchanged在这个过程中吗?
感谢
请编辑您的文章,并在'mysqli_real_escape_string()'处理之前和之后包含SQL示例。 – 2012-08-08 11:42:25