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

Php SaaS平台-每个用户或一个主帐户的不同数据库用户,php,mysql,pdo,saas,Php,Mysql,Pdo,Saas,我有一个正在开发的SaaS平台;用PHP编写并使用MySQL数据库(使用PHPPDO类) 这个应用程序已经可以运行了,我决定为每个实例使用一个单独的数据库 使用多个数据库的原因之一是为了确保客户机数据是分离的(希望是安全的)。这还允许我们轻松地将它们的实例转移到本地版本中 我总是担心安全问题。我想确保这个系统在投入使用之前尽可能安全 目前,我们使用一个MySQL用户名和密码,可以访问每个数据库(在特定的MySQL服务器场上) 从理论上讲,如果存在安全漏洞,则攻击者可能能够访问不同的数据库(在建立

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

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

使用多个数据库的原因之一是为了确保客户机数据是分离的(希望是安全的)。这还允许我们轻松地将它们的实例转移到本地版本中

我总是担心安全问题。我想确保这个系统在投入使用之前尽可能安全

目前,我们使用一个MySQL用户名和密码,可以访问每个数据库(在特定的MySQL服务器场上)

从理论上讲,如果存在安全漏洞,则攻击者可能能够访问不同的数据库(在建立PDO/数据库连接后,用户名和密码未设置,但他们可能能够运行诸如“使用数据库B”之类的查询)

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

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

谢谢


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

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

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

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

1) 如果您的安全措施正确,他们手动编写查询应该非常困难(如果不是不可能的话)。
2) 您刚才提出的问题是,为什么我主张在DBs之间使用不同的用户/密码。
3) 我鼓励多个DB连接的另一个原因。。。我为一家大约有10人在运营的公司制造控制软件。不久数据库就变得庞大起来。多个数据库将比1更好地控制大小。
4) 如果我只使用一个数据库,我会更担心客户通过权限问题这样简单的问题意外访问另一家公司的信息

关于数据库分区,我还有一个悬而未决的问题(我还没有研究/测试过)。。。我非常了解如何处理到1个数据库的数百个连接。如果只处理到一百个数据库的几个连接,会发生什么

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

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

1) 如果您的安全措施正确,他们手动编写查询应该非常困难(如果不是不可能的话)。
2) 您刚才提出的问题是,为什么我主张在DBs之间使用不同的用户/密码。
3) 我鼓励多个DB连接的另一个原因。。。我为一家大约有10人在运营的公司制造控制软件。不久数据库就变得庞大起来。多个数据库将比1更好地控制大小。
4) 如果我只使用一个数据库,我会更担心客户通过权限问题这样简单的问题意外访问另一家公司的信息


关于数据库分区,我还有一个悬而未决的问题(我还没有研究/测试过)。。。我非常了解如何处理到1个数据库的数百个连接。如果只处理到一百个数据库的几个连接,会发生什么

我不知道如何在这个系统上发送PM。你是在建立一个公司/团队的所有权还是一部分?嗨,Phpmeh。谢谢你的回复。我不确定你的意思,我是这个产品的主要开发者(它是内部构建的)。一旦系统准备好,我们可能会让外部公司来主持。是的,我只是好奇。我正在构建我计划部署SaaS风格的业务管理软件。我有一个初级开发人员为我工作,我们已经为这个项目工作了6个月。即便如此,它的进展还是非常缓慢。一直在寻找潜在的合作伙伴。我不知道如何在这个系统上发送PM。你是在建立一个公司/团队的所有权还是一部分?嗨,Phpmeh。谢谢你的回复。我不确定你的意思,我是这个产品的主要开发者(它是内部构建的)。一旦系统准备好,我们可能会让外部公司来主持。是的,我只是好奇。我正在构建我计划部署SaaS风格的业务管理软件。我有一个初级开发人员为我工作,我们已经为这个项目工作了6个月。即便如此,它的进展还是非常缓慢。当然,所有查询都是通过PHP PDO类的绑定参数进行的。2) 是的,这是我的主要问题,如果这个额外的安全步骤应该被使用。3) 是的,我们将使用多个数据库。4) 同意,这是我们使用多个数据库的另一个原因。我不认为人际关系会引起大问题,尽管如此