【问题标题】:What are the options for a db user instead of 'root'db 用户而不是“root”的选项是什么
【发布时间】:2020-09-22 01:01:07
【问题描述】:

所以我创建了一个注册和登录系统,现在每个要连接的人都将以 root 身份连接。我知道那不好,因为他们可以完全访问。所以我的问题是什么是替代品,我如何创建它们或者我在哪里可以找到一些。 感谢前面的每一个人。

【问题讨论】:

  • 您的意思是您正在创建实际的数据库用户(例如,在mysql.user 表中,假设为 MySQL/MariaDB)......还是您的应用程序中的用户? 听起来您正在尝试前者,但这似乎不太可能......
  • 那个“每个人”应该只是你的应用程序。用户不能直接访问数据库(对吗?!),所以他们不能做任何你的应用程序没有被编程做的事情。这就是您的用户的权限限制。 可能还可以将应用程序的功能限制在数据库中,但这(希望)是一个单独的主题。

标签: php database authentication


【解决方案1】:

只要你足够好地清理用户输入,你的 php 应用程序使用数据库的“root”用户应该不是一个大问题(尽管不推荐)。

但为了更加安全,标准是为每个应用程序创建一个数据库用户,并仅授予必要的权限。您没有指定您使用的数据库类型,所以我将举一个 MySQL 和 Postgresql 的示例。

MySQL:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Postgresql:

CREATE USER newuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE database_name TO newuser;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    相关资源
    最近更新 更多