php - 使用 MySQL 用户通过 php 登录 - 为什么不呢?

标签 php mysql authentication

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

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

最佳答案

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

这也将使您在连接管理和故障排除问题方面更轻松地使用数据库,因为所有基于用户的访问逻辑将仅驻留在您的应用程序层中。

关于php - 使用 MySQL 用户通过 php 登录 - 为什么不呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14449154/

相关文章:

mysql BETWEEN 对字符的权利是独占的吗?

python - flask 和 python 是否存在类似 CanCan(授权库)的东西

php - 使用,还是不使用,session_set_save_handler?

api - Salesforce.com 中的安全 token

php - 使用带有 id anchor 的 rawurlencode() 时,同一页面链接无法正常工作

php - 获取每组的最后一行?

php - mysql 查询 2 个表的总和

php - 通过 PHP 将查询结果导出为 CSV

php - Laravel:如何获取分配给特定代理的客户的所有订单

mysql - 共享主机服务器上的连接字符串