如何可以mysqli

这个问题在这里已经有了答案:

  • SQL注入绕过mysql_real_escape_string()4个答案

  • 只要您使用mysqli_set_charset()设置客户端编码,并且mysqli_real_escape_string()使用mysqli_real_escape_string()来格式化字符串 ,则它是完全安全的。

    但是,如果您的问题隐含在应用程序代码中使用此函数,而不是基于占位符的查询的幕后处理,或者至少以PDO的quote()函数的形式(它一次转义引用)它是直接注射的方式。

    功能本身不是一个问题,而是它被使用的方式:

  • 因为它只是所需格式的一部分,所以很容易忘记另一部分并陷入困境
  • 或者甚至可能很容易被误用,而不是格式化字符串,而是另一种文字,它根本不会从转义中受益。
  • 其次,当它在应用程序代码中正确使用时,它的使用会变得不一致或偶尔出现,因为没有办法强制开发人员正确格式化每一个文字,而且没有失败。 这又可能导致不准确和注入。
  • 这就是为什么您必须始终使用占位符来表示查询中的数据(而mysqli_real_escape_string可以用来处理此占位符)

    链接地址: http://www.djcxy.com/p/93443.html

    上一篇: How can mysqli

    下一篇: Hide soft keyboard by back button only