0

2007 年,我在公司建立了一个内部网站,该网站一直沿用至今。那时我没有阅读太多关于安全的内容,因为我完全控制了数据库,所以我编写了用户管理系统,它创建了 MySQL 数据库用户(是的,'whoever'@'specifichost' 类型)。创建此类用户需要管理员,无法进行用户注册。特殊脚本计算出需要哪些 DB 对象权限。不可能“记住我”。

由于现在我需要重新访问登录/注册系统,并且每个人都在询问 Facebook 类型的登录,我想知道使用 MySQL 用户/密码是否是一个坏主意,直接在数据库上授予他们的权限?(假设虚拟主机允许创建多个用户)。

4

1 回答 1

2

通常,人们会基于每个应用程序或每个服务为数据库创建用户/权限,而不是为单个应用程序最终用户帐户创建用户/权限。MySQL 的访问控制通常不够精细,无法用于用户特定的权限。用户特定的权限通常会在应用程序层实现,因为通常您需要记录级控制谁可以访问什么,这是 MySQL 不允许的。

这也将使您在使用数据库时更容易处理连接管理和故障排除问题,因为所有基于用户的访问逻辑都只驻留在您的应用程序层中。

于 2013-01-21T23:49:08.370 回答