Web 应用程序访问的数据库和数据库用户的命名约定?

crb*_*crb 5 web-applications database-administration

在安装使用单个用户与单个数据库(例如 MySQL,但这也适用于其他 RDBMS)对话的 Web 应用程序时,您通常会遇到如下事件序列:

CREATE DATABASE wordpress CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'hunter2';
Run Code Online (Sandbox Code Playgroud)

一些指南建议对数据库名称使用不同的用户名,而其他指南则建议使用不同的名称,例如“appuser”代表用户,“app”代表数据库名称。

使用同名有什么明显的技术缺点吗?这样做有没有可能造成混淆的地方?

编辑:我知道这是有问题的安全做法,您应该将您的数据库命名为 fhqwhgads和您的用户flobadob;然而,(a)默默无闻是一个有问题的工具,(b)这是每个 webapp 在他们的文档中给出的例子。

Joh*_*ers 2

使用与数据库名称相同的用户名的缺点是太明显了。如果您查看访问日志,您会发现攻击者经常尝试该组合,如果您的名称正确,您就已经成功了。除此之外,您使用的名称几乎没有什么区别,尽管有一些话要说也不使用字典单词。