清理没有预共享语句的MySQL查询(PHP+;旧MySQL模块)
注意:我已经看了这个问题:。正如我所料。。。答案是使用事先准备好的陈述。我的处境不同。。。所以我想知道最好的方法 我正在使用一个下载的脚本(phpsimplechat),作者在其中编写了自己的简单SQL层(注意:它支持PostgreSQL和MySQL)。不幸的是,我对它进行了一些测试,它很容易受到SQL注入的攻击。从特性的角度来看,脚本做了我想要的一切,所以我想挽救它 幸运的是,它是开源的。。。但是我不想重写所有的SQL查询来使用phpsimplechat中准备好的语句。第三方库使用自己的SQL层而不是PDO。。。在这种情况下,使用的是较旧的mysql模块(因此,我不能使用预先准备好的语句。即使我更改了mysql->mysqli,我也必须处理他放在所有代码之上的“dbQuery”层)。我不需要PostgreSQL代码,所以答案可以是特定于MySQL的清理没有预共享语句的MySQL查询(PHP+;旧MySQL模块),php,mysql,sql-injection,Php,Mysql,Sql Injection,注意:我已经看了这个问题:。正如我所料。。。答案是使用事先准备好的陈述。我的处境不同。。。所以我想知道最好的方法 我正在使用一个下载的脚本(phpsimplechat),作者在其中编写了自己的简单SQL层(注意:它支持PostgreSQL和MySQL)。不幸的是,我对它进行了一些测试,它很容易受到SQL注入的攻击。从特性的角度来看,脚本做了我想要的一切,所以我想挽救它 幸运的是,它是开源的。。。但是我不想重写所有的SQL查询来使用phpsimplechat中准备好的语句。第三方库使用自己的SQL
我已经读到addslashes不足以防止所有SQL注入尝试。mysql\u real\u escape\u string是否可以安全使用?是的,
mysql\u real\u escape\u string
如果您正确使用它,将保证安全,即确保查询中出现的所有字符串都被转义