1

我正在努力让我曾经很温馨的网站能够容纳两个以上的用户。是否可以为每个在我的网站注册的人创建一个新的 MySQL 用户,运行

CREATE USER $userName [IDENTIFIED BY [PASSWORD] '$userPass']

每次有人注册?然后我会mysql_connect()以他们的名义拨打电话。

或者,做类似的事情是否有好处/注意事项

 CREATE USER genericSiteUser [IDENTIFIED BY [PASSWORD] 'sitePass']

并且只是放置$userName一个专栏来跟踪谁留下了什么评论等?或者有没有比这两种方法更好的第三种方法?

4

2 回答 2

1

创建数据库用户是不可扩展的,也不安全。相反,您应该创建一个具有最低权限的数据库用户(理想情况下仅插入/选择/更新/删除),然后使用表来跟踪用户。

然后,您可以在评论表中创建用户表的外键。

于 2012-09-03T02:19:30.820 回答
0

否 - MySQLCREATE USER命令用于让用户访问 MySQL 数据库本身。它不应该被普通应用程序调用;实际上,良好的安全实践要求您的应用程序使用的数据库用户不应具有SUPER管理用户所需的权限。

由于您的应用程序的用户与用于访问 MySQL 的用户凭据完全无关,因此您的应用程序应该在数据库表中维护其用户的数据,就像您的应用程序使用的任何其他数据一样。

于 2012-09-03T03:40:26.787 回答