Php 在没有MySQLi或PDO的情况下防止SQL注入

Php 在没有MySQLi或PDO的情况下防止SQL注入,php,mysql,mysqli,sql-injection,Php,Mysql,Mysqli,Sql Injection,我知道我可以使用prepared语句来防止SQL注入。我可以使用MySQLi或PDO来实现。但是我已经开发了一个使用PHP/MySQL\u查询的大型CRM。如果我必须将每个查询都更改为PDO或MySQLi,至少需要一个月的时间。脚本得到了500多条MySQL查询语句 在这件事上我真的需要帮助。有人能告诉我如何防止不使用MySQLi或PDO的SQL注入吗 有谁能告诉我,如何防止不使用MySQLi或PDO的SQL注入[在一个拥有500多条原始MySQL语句的现有应用程序中] 简短回答 没有 在体系结

我知道我可以使用prepared语句来防止SQL注入。我可以使用MySQLi或PDO来实现。但是我已经开发了一个使用PHP/MySQL\u查询的大型CRM。如果我必须将每个查询都更改为PDO或MySQLi,至少需要一个月的时间。脚本得到了500多条MySQL查询语句

在这件事上我真的需要帮助。有人能告诉我如何防止不使用MySQLi或PDO的SQL注入吗

有谁能告诉我,如何防止不使用MySQLi或PDO的SQL注入[在一个拥有500多条原始MySQL语句的现有应用程序中]

简短回答 没有

在体系结构上,您的应用程序需要对其数据库访问结构进行自上而下的重写,才能在web上变得安全。与作为修订策略的一部分简单地实现一个可靠的SQL抽象层相比,使用数据清理器和语句启发式将更加危险和耗时


我的建议是,你至少要贯彻这一原则。这可能是一个良好的开端,尤其是对于您所描述的遗留数据库策略的端口而言;或者,再往前走一步。更好的方法是,使用已经包含这些数据库库的框架(如或)来构建未来的应用程序或重新构建应用程序。

如果您要通过代码对sql注入进行更改,您所做的工作与使用PDO或MySQLi重新编写应用程序所做的工作相同。感谢您的回复。是否有任何方法可以过滤每个$\u GET和$\u POST以停止SQL注入?没有。您需要使用准备好的语句,这是DB功能。当然,可以使用糟糕的mysql功能编写安全代码。它只需要比大多数新来者表现出更多的关注。而一个模拟参数绑定的简单包装器就足够了。但几乎没有人这样做。因此,这更像是一个更容易、更简单地确定的问题。你还得重写所有的东西。非常感谢。你们能告诉我codeigniter有多安全吗。