我正在创建多租户系统(第一次)。我稍微担心这个系统,因为应用程序的所有用户详细信息将保存在数据库中的同一个表中。当用户登录时,我打算设置一个$_SESSION
变量,其中包含它们的clientid
并使用它来访问他们的所有信息(DB中的所有信息将有clientid
列)。php会话足够安全多租户系统
我认为这是用PHP处理多租户系统的唯一解决方案,使用MySQL。这足够安全吗?或者我应该为每个客户选择不同的数据库。我担心,如果客户可以将自己的“012”改为“45”,这意味着他们可以访问其他人的数据。
有没有更好的方法?或者解决方案是处理多租户系统中访问数据的唯一方法(PHP & MySQL)?
用户不能更改他们自己的会话数据,除非您的代码允许他们这样做。如果你担心他们改变它,那么不要给他们这样做...... – Charles
@Charles - 如果他正在做我认为他在做的事情,那么并不完全正确。他必须确保,如果客户被允许执行代码,他们不能直接操纵会话文件。当然,这更多的是服务器配置问题,或者可能是一个基础问题。 – Apropos
@Charles'$ _SESSION ['clientid']'将被触及的唯一时间是用户登录和注销代码。 – cantaffordretail