为什么OpenCart安装中不允许MySQL根用户?

为什么OpenCart安装中不允许MySQL根用户?,mysql,opencart,Mysql,Opencart,在过去的几天里,我一直在与一个 v1.5.6.4 -使用MySQL的根用户。到目前为止,我没有注意到任何奇怪或错误 但是,OpenCart的install.txt的第四点指出: 确保您安装了一个MySQL数据库,并为其分配了一个用户不要使用您的ROOT用户名和ROOT密码 为什么自述文件明确表示不使用MySQL的根用户 使用MySQL的root用户设置OpenCart时会出现什么错误?不会有任何错误,但强烈建议不要使用root用户,除非您必须这样做。这是出于安全考虑。

在过去的几天里,我一直在与一个 v1.5.6.4 -使用MySQL的根用户。到目前为止,我没有注意到任何奇怪或错误

但是,OpenCart的
install.txt
的第四点指出:

  • 确保您安装了一个MySQL数据库,并为其分配了一个用户不要使用您的ROOT用户名和ROOT密码
  • 为什么自述文件明确表示不使用MySQL的根用户


    使用MySQL的root用户设置OpenCart时会出现什么错误?

    不会有任何错误,但强烈建议不要使用root用户,除非您必须这样做。这是出于安全考虑。设置一个DB用户,该用户只有足够的权限允许OpenCart工作并使用该用户


    这对于任何系统都是可取的,不仅仅是OpenCart。他们只是给你一些安全建议。

    root=superuser。考虑如果在OpenCART中发现一个允许任意DB操作(例如SQL注入漏洞)的bug会发生什么。如果OpenCart是以mysql根用户身份连接的,那么现在无论谁入侵OpenCart,都可以完全访问mysql安装中的所有数据库。与DB接口的面向公众的代码永远不应该具有根权限,而只应该具有工作所需的权限(例如,select/insert/update/delete)。@MarcB,Ic,因此这确实不是一个硬性要求。不是硬性要求,但也不要忽略它。使用root priv运行数据库连接几乎是你能做的最愚蠢的事情之一,除非你正在构建类似phpmyadmin的东西。安装所需的最小权限集是多少?从内存中,我认为你需要给它创建、删除、选择、插入、更新和删除。如果收到错误消息,您随时可以在以后授予更多权限。DROP不应该是必需的。我以前遇到过一个错误,在初始安装过程中需要DROP。初始安装始终可以由ROOT用户完成,只是为了简单,初始安装后,用户应更改为仅具有
    选择
    插入
    更新
    删除
    权限的用户。如果OpenCart实现了非删除“delete”逻辑,它将更加安全——在这种情况下,甚至不需要
    delete
    特权。