1

我正在考虑创建一个全局变量$PDO,以便在类、函数和代码中与我的脚本一起使用。那么是否会发生任何安全漏洞呢?
我现在每次都使用单独的连接。我应该坚持这个还是使用全局 PDO 对象?

4

1 回答 1

2

这实际上取决于您的应用程序,因为在某些情况下您可能想要管理多个连接。但是,在许多情况下,在处理单个请求的过程中只打开一个连接以供使用是有意义的。这有助于消除在整个代码中打开/关闭连接的开销。我猜想在大多数情况下,安全性不会是一个大问题,除非您计划将数据库连接移交给一组不应该具有与该特定连接关联的数据库权限的代码(可能是您使用的库或服务)不要控制)。

我还强烈建议您研究依赖注入的概念,因为在大多数情况下,最好将实例化的 DB 对象传递给需要它的代码片段,而不是将其视为全局并仅使用global关键字来访问它。这可以帮助您避免需要在每个类/函数中复制代码以检查数据库是否具有连接等。如果您有一个执行此操作的类,并且您可以将该对象传递给需要它的类,则可以保证该对象将执行它应该执行的操作。

于 2013-07-31T17:29:28.560 回答