gpt4 book ai didi

php - SaaS 平台 - 每个用户或一个主账户的不同数据库用户

转载 作者:行者123 更新时间:2023-11-29 00:47:59 25 4
gpt4 key购买 nike

我有一个正在开发的 SaaS 平台;用 PHP 编写并使用 MySQL 数据库(使用 PHP PDO 类)。

该应用程序已经可以正常运行,我决定为每个实例使用一个单独的数据库。

使用多个数据库的原因之一是确保客户端数据是分开的(并希望是安全的)。这也使我们能够轻松地将他们的实例转移到本地版本。

安全一直是我担心的事情。我想确保这个系统在上线之前尽可能安全。

目前我们使用一个 MySQL 用户名和密码来访问每个数据库(在特定的 MySQL 场上)。

理论上,如果存在安全漏洞,那么攻击者可能能够访问不同的数据库(在建立 PDO/数据库连接后,用户名和密码未设置,但他们可能能够运行查询,例如“使用 databaseB ").

这是我应该关心的事情吗?例如,仅使用数据库分区的 SaaS 平台已经不太安全,因为简单的 SQL 错误可能会暴露客户端数据。

我已经开始考虑使用不同的数据库用户名和密码,但这确实增加了 SaaS 平台的复杂性,保持简单总是一个好主意。

谢谢!


我决定为每个实例使用不同的用户名和密码。

这是另一层安全性,不会造成伤害。

最佳答案

Theoretically if there was a security breach then the attacker might be able to access a different database (username & password is unset after the PDO/Database connection is made, but they might be able to run a query such as "use databaseB").

Is this something that I should be concerned about? For example a SaaS platform that simply uses database partitioning is already less secure as a simple SQL error could expose client data.

1) 如果您正在做您的安全权利,他们应该很难(如果不是不可能的话)手动编写查询。
2)你刚才提出的问题是为什么我会提倡在数据库之间使用不同的用户/密码。
3) 我鼓励多个数据库连接的另一个原因......我为一家拥有大约 10 名运营人员的公司制作了制造控制软件。没过多久数据库就变大了。多个数据库将保持大小控制优于 1。
4) 如果我只使用一个数据库,我会更担心客户通过权限问题这样简单的问题意外访问另一家公司的信息。

关于数据库分区的问题我仍然挥之不去(我还没有研究/测试过)......我对如何处理与 1 个数据库的数百个连接有很好的理解。当您只处理与一百个数据库的几个连接时会发生什么?

关于php - SaaS 平台 - 每个用户或一个主账户的不同数据库用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com