防止没有MySQLi或PDO的SQL注入

我知道我可以使用准备语句来防止SQL注入。 我可以使用MySQLi或PDO来完成。 但是我开发了一个使用PHP / MySQL(mysql_query)的大型CRM。 如果我必须将每个查询都更改为PDO或MySQLi,则至少需要一个月。 该脚本获得了更多的500个MySQL查询语句。

在这件事上我真的需要帮助。 任何人都可以告诉我如何防止SQL注入不使用MySQLi或PDO?


任何人都可以告诉我,如何防止SQL注入不使用MySQLi或PDO [在现有的应用程序中有超过500条原始MySQL语句]?

简答

没有。

在架构上,您的应用程序需要从头到尾重写(关于其数据库访问结构)才能在Web上变得安全。 与简单地实施可靠的SQL抽象层一起作为修订策略的一部分,使用数据清理器和声明启发式技术将会更加危险和耗时。

我的建议是你至少实施了教义 。 理论数据库抽象层(DBAL)可能是一个好的开始,特别是对于像您所描述的那样的遗留数据库策略的端口而言; 或者使用Doctrine对象关系映射器(ORM)进行升级。 更好的是,使用已经包含这些数据库库的框架(如Symfony 2或Silex)来构建未来的应用程序(或重新构建应用程序)。

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

上一篇: Prevent SQL Injection without MySQLi or PDO

下一篇: When should I use prepared statements?