Php 数据库连接的最佳方法
DB连接的最佳方法是什么 一个连接具有所有操作的所有权限(CRUD) 或 2个连接,一个用于删除,另一个用于其他(CRU) 或 每个操作的不同连接Php 数据库连接的最佳方法,php,mysql,sql,database,connection,Php,Mysql,Sql,Database,Connection,DB连接的最佳方法是什么 一个连接具有所有操作的所有权限(CRUD) 或 2个连接,一个用于删除,另一个用于其他(CRU) 或 每个操作的不同连接 这对性能和安全性来说是最好的。我个人会坚持使用一个连接 拥有所有权限的1个连接与拥有2个连接之间没有安全区别。如果攻击者能够访问CRU凭据,那么他们也可以轻松访问其他凭据 在很大程度上,保持简单是有价值的。你对管理连接的考虑越少,那么你在安全编码、最佳实践、管理漏洞等方面的空间就越大 如果您特别关心批量删除,可以使用一个存储例程(从这里开始:)删除一
这对性能和安全性来说是最好的。我个人会坚持使用一个连接 拥有所有权限的1个连接与拥有2个连接之间没有安全区别。如果攻击者能够访问CRU凭据,那么他们也可以轻松访问其他凭据 在很大程度上,保持简单是有价值的。你对管理连接的考虑越少,那么你在安全编码、最佳实践、管理漏洞等方面的空间就越大
如果您特别关心批量删除,可以使用一个存储例程(从这里开始:)删除一行。然后,您的PHP连接可以具有CRU权限(但不能删除),以及运行此存储过程的权限。这意味着攻击者必须多次调用此过程来删除多个记录,并且(如果操作正确)将无法使用单个SQL语句进行大规模删除。常见做法是通过授予的选择、插入、更新和删除权限与数据库建立单次连接(用户) 如果您希望拥有具有不同权限的独立用户,则创建一个仅使用SELECT的用户和另一个使用all CRUD的用户。然后在脚本中选择其中一个连接,并使用它执行所有查询 从一个客户端打开多个连接不是一个好主意,因为实际上,能够连接的客户端数量将减少一半
这仅适用于只有一台数据库服务器的情况,如果使用读取副本,则具有多个到不同数据库(在不同服务器上)的连接不是问题。安全方面,如果代码同时打开了两个连接,则没有区别。感谢您的评论,如果“删除连接”未打开(仅适用于已注册人员),则最好有2个连接。