Php 在MySQLi和PDO之间,哪种方法更安全

Php 在MySQLi和PDO之间,哪种方法更安全,php,mysql,security,pdo,sql-injection,Php,Mysql,Security,Pdo,Sql Injection,到目前为止,我发现MySQLi和PDO都是连接数据库的好方法。我需要的是哪种方法在两者之间更安全。特别是对于一个为一个大型项目开发一个站点的人来说,这将需要大量的人进行交互。这两个库都提供SQL注入安全性,只要开发人员按照预期的方式使用它们(在需要时使用准备好的语句进行适当的转义/参数绑定) 安全方面没有区别。PDO和Mysqli之间的主要区别在于PDO支持各种数据库,而Mysqli只支持MySQL。MySQLi也有点快。PDO支持12种不同的驱动程序,而MySQLi只支持MySQL 所以关于安

到目前为止,我发现MySQLi和PDO都是连接数据库的好方法。我需要的是哪种方法在两者之间更安全。特别是对于一个为一个大型项目开发一个站点的人来说,这将需要大量的人进行交互。这两个库都提供SQL注入安全性,只要开发人员按照预期的方式使用它们(在需要时使用准备好的语句进行适当的转义/参数绑定)

安全方面没有区别。PDO和Mysqli之间的主要区别在于PDO支持各种数据库,而Mysqli只支持MySQL。MySQLi也有点快。PDO支持12种不同的驱动程序,而MySQLi只支持MySQL


所以关于安全性没有区别,因为它们都使用准备好的语句进行转义。

定义更安全?您在安全性中使用的客观性标准是什么?这两个标准都是积极开发并实现绑定变量。安全性并不是他们之间的一个很强的区别因素。老实说,他们两人都一样安全,只是取决于你更喜欢哪一个。。。参考此链接@DrewPierce-在使用服务器端准备的语句时很难做到这一点:)安全性由您决定,而不是您使用的语言/驱动程序。他们肯定会提供所有他们在安全方面的责任,但他们不能单独做到。+1最重要的一句话是“只要开发人员按照预期的方式使用它们”。许多开发人员似乎认为在
mysql\u查询中添加
i
会自动删除所有注入可能性。好的,谢谢Robert。是的,这是真的:)安全性中总是有“人”的因素。即使是最好的安全性也会被人类的错误破坏。酷,你们知道有哪本书能很好地涵盖这一部分吗?我对php还是个新手……我读过一些书,但它们并不仅仅是针对php的。它是关于一般的安全性,如何处理输入,转义,桑塔尼化,验证等。在www上有很多文章,你可以在那里找到最佳实践。这并不总是关于应用程序的安全性,而是关于服务器配置的安全性。在我的应用程序中,我总是检查各种输入,即使是用户不应该访问的输入。