【发布时间】:2011-05-24 01:12:08
【问题描述】:
我正在编写我的第一个网络应用程序,我对数据库的了解足以知道架构很重要,但还不足以知道如何真正编写一个好的应用程序。
是否有用于处理存储在每个用户帐户中的信息的标准协议?我的直觉是拥有一个存储用户密钥和登录信息的表,以及他们的表的句柄(可能是密钥?),然后为每个用户创建一个表。
但我想知道为每个用户设置表是否存在性能问题,或者这似乎是一种非常愚蠢的方法。这似乎应该是一个“已解决的问题”,因为基本上所有的网络应用程序都有用户帐户,但我无法通过搜索找到任何东西。是否有任何具有“已解决”模式的资源来存储各种 Web 数据?
【问题讨论】:
-
我知道这有点老了,但出于安全原因,我也有同样的想法。例如,防止其他用户访问除他们之外的其他表。
-
@SalemF 所以是的,这样做存在潜在的安全问题,但使用单独的表甚至会出现更大的安全问题。简而言之,您不希望您的 Web 应用程序在运行中创建表格。您只想添加或删除表中的数据。添加和创建表是比添加和删除行更高的权限级别。而且您不希望您的 Web 应用程序具有创建或删除表的权限。这就是您最终让黑客删除或复制整个数据库的方式。还有其他原因,但这是安全原因。
-
@aranesa 你说得对,它是关于权限级别的,如果用户可以访问其他人的原始数据,他可以访问其他人的表。但这个想法是让用户只在他自己的表上,不提供删除或创建新表的权限。黑客获得对 DB 的控制权的任何一种方式,他都会做他想做的事