Mat*_*tt_ 1 php mysql security authentication
我正在构建一个在mysql中添加和删除用户的php系统.它目前设置如下: - 用户尝试登录到站点 - 在projectdb.users(也是一个mysql用户凭据)中查找用户名和哈希值(sha256,salt,密码) - 找到它然后使用该用户名和密码在登录时执行任何mysql_connect
因此,当我在系统中添加用户时,我将他们的凭据添加到表中,并将它们添加为仅具有最小权限的mysql用户在projectdb数据库上.
但是当我添加一个管理员帐户时,我正在给予他们对该数据库的完全权限,并为他们提供mysql grant/add用户权限,以便他们可以添加更多用户.这似乎太强大,即使这些用户无法直接连接并登录到mysql(但如果他们可以添加任何人).
而不是实际将mysql用户添加到系统中是否更好地硬编码单个用户和管理员在php文件中的权限?有比这两个想法更安全的方式吗?
如果用户没有直接访问数据库,则不必直接向他们授予授予/添加用户权限.
大多数CMS实现了一个权限表,允许PHP代码检查用户是否具有执行特定操作的适当权限.因此,您的PHP代码可以简单地检查登录用户是否具有权限表设置的权限,然后让实际管理员用户(即root)创建用户本身.它更加迂回,但通过在该权限结构上创建一个额外的层来提供稍微更精细的控制.
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |