PHP

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

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

  • 这不是mysqli_real_escape_string ,这不是安全的 ,而是PHP用户倾向于使用它的方式。

    只要你用set_charset()设置一个字符集, 并且总是将你的转义值包装在单引号中,尽管类型是,然而从技术上讲,上面的语句是安全的。

    但是,正如您所看到的,有太多规则可以遵循 - 对于普通的PHP用户而言,这种情况太复杂了。 因此,这种手动格式化是注入的源泉,因为任何规则(转义,引用,设置字符集)都可能被忽略。

    此外,手动转义只会让你的代码变得臃肿。 为什么不让程序为您正确处理数据?

    这就是为什么你必须有一个机制来自动应用所有的规则。 如此准备的陈述就是这样一种机制。

    像这样的简单函数有什么问题,因此您希望您的代码更喜欢它的任何原因:

    $sql = "INSERT INTO table (column1, column2, column3) VALUES (?,?,?)";
    some_query($sql, [$value1,$value2,$value3]);
    
    链接地址: http://www.djcxy.com/p/93447.html

    上一篇: php

    下一篇: Is mysql