Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库连接的最佳方法_Php_Mysql_Sql_Database_Connection - Fatal编程技术网

Php 数据库连接的最佳方法

Php 数据库连接的最佳方法,php,mysql,sql,database,connection,Php,Mysql,Sql,Database,Connection,DB连接的最佳方法是什么 一个连接具有所有操作的所有权限(CRUD) 或 2个连接,一个用于删除,另一个用于其他(CRU) 或 每个操作的不同连接 这对性能和安全性来说是最好的。我个人会坚持使用一个连接 拥有所有权限的1个连接与拥有2个连接之间没有安全区别。如果攻击者能够访问CRU凭据,那么他们也可以轻松访问其他凭据 在很大程度上,保持简单是有价值的。你对管理连接的考虑越少,那么你在安全编码、最佳实践、管理漏洞等方面的空间就越大 如果您特别关心批量删除,可以使用一个存储例程(从这里开始:)删除一

DB连接的最佳方法是什么

一个连接具有所有操作的所有权限(CRUD)

2个连接,一个用于删除,另一个用于其他(CRU)

每个操作的不同连接


这对性能和安全性来说是最好的。

我个人会坚持使用一个连接

拥有所有权限的1个连接与拥有2个连接之间没有安全区别。如果攻击者能够访问CRU凭据,那么他们也可以轻松访问其他凭据

在很大程度上,保持简单是有价值的。你对管理连接的考虑越少,那么你在安全编码、最佳实践、管理漏洞等方面的空间就越大


如果您特别关心批量删除,可以使用一个存储例程(从这里开始:)删除一行。然后,您的PHP连接可以具有CRU权限(但不能删除),以及运行此存储过程的权限。这意味着攻击者必须多次调用此过程来删除多个记录,并且(如果操作正确)将无法使用单个SQL语句进行大规模删除。

常见做法是通过授予的选择、插入、更新和删除权限与数据库建立单次连接(用户)

如果您希望拥有具有不同权限的独立用户,则创建一个仅使用SELECT的用户和另一个使用all CRUD的用户。然后在脚本中选择其中一个连接,并使用它执行所有查询

从一个客户端打开多个连接不是一个好主意,因为实际上,能够连接的客户端数量将减少一半


这仅适用于只有一台数据库服务器的情况,如果使用读取副本,则具有多个到不同数据库(在不同服务器上)的连接不是问题。

安全方面,如果代码同时打开了两个连接,则没有区别。感谢您的评论,如果“删除连接”未打开(仅适用于已注册人员),则最好有2个连接。