MySQL应用程序用户与数据库用户
不幸的是,这个问题可能有点宽泛,因为我无法找到合适的术语来帮助我将所有这些结合起来。我对php/SQL非常陌生,我正试图用非常简单的登录/注册功能建立一个最小的站点MySQL应用程序用户与数据库用户,mysql,sql,database,privileges,Mysql,Sql,Database,Privileges,不幸的是,这个问题可能有点宽泛,因为我无法找到合适的术语来帮助我将所有这些结合起来。我对php/SQL非常陌生,我正试图用非常简单的登录/注册功能建立一个最小的站点 每当我注册一个新的web用户时,我是否应该创建一个新的数据库用户 向网站的所有用户授予CRUD权限是否安全 我是否应该创建一个DB用户进行注册,该用户在登录之前只能插入到用户表中,而无需其他任何操作(mysqli_connect()无需密码) 一旦登录,他们将与不同类型的DB用户建立连接,该用户具有使用该网站的更多权限 应该有
- 每当我注册一个新的web用户时,我是否应该创建一个新的数据库用户
- 向网站的所有用户授予CRUD权限是否安全
- 应该有多少不同类型的DB用户
- 总而言之,在一个小型网站中,超过10 DB的用户会是不寻常的吗
- 拥有多种类型的用户是否会带来性能/空间成本
非常感谢您的回复和链接,如果这些是非常基本的问题,我深表歉意。多年前,我一直在努力解决这个问题,所以下面是我希望得到的答案: 一般来说,这会使事情变得过于复杂,基本应用程序的主要答案是:用户的权限将由您进行的API调用中的PHP代码管理,一个DB用户就可以了。所有用户通常应避免直接与DB for app dev交互,以防止侵犯数据的神圣性 考虑安全性和限制是很好的,但简单性才是最重要的——你做得越复杂,维护起来就越困难,因此就越容易错过关键案例 每当我注册一个新的web用户时,我是否应该创建一个新的数据库用户? 否,数据库用户通过其权限进行区分。因此,所有用户都符合一组具有不同权限级别的组。数据库帐户与web帐户是分开的-连接到数据库是在后台完成的,没有与正在使用的web帐户的链接 一个好的方法是为每个直接连接到DB的服务创建一个DB帐户。对于绝大多数人来说,这将是一种服务,即您的web服务器。如果应用程序不断增长,独立的服务如审计、微服务、安全、物联网如雨后春笋般涌现,他们可能应该拥有自己的帐户 向网站的所有用户授予CRUD权限是否安全? 这个问题被误导了——您将CRUD交给DB帐户,而DB帐户将需要它。对于PHP内部管理的CRUD权限,它实际上取决于您的应用程序和特定端点。例如,您可能不希望所有用户都能够删除用户记录,因此您的PHP代码应该防止这种情况发生 应该有多少不同类型的DB用户? 数字取决于您的数据库。一般来说,有
- 数据库管理员
- 数据库设计者
- 临时终端用户
- 本机最终用户
谈论一个简单应用程序的表级权限简直是过火了 您不应授予用户数据库级帐户。你认为你是amazon.com DBs的客户之一就拥有登录权限吗?魔兽世界数据库?国税局数据库等…?好的,但如果我要更新他们的数据库,我必须登录某种特权帐户。不?是的。该帐户可以拥有所需的更改/删除/任何权限。但用户永远不需要知道有关该帐户的任何信息。他们以用户“xyz”的身份登录网站。但在后台,代码以用户“pqr”的身份登录到mysql。xyz业务对mysql来说毫无意义。只是用户表中的一些字母。然而,pqr是一个成熟的mysql帐户。谢谢,这很有帮助。我会更新问题,去掉更幼稚的部分!