gpt4 book ai didi

php - 通过 PHP 连接到权限较低的 MySQL 用户

转载 作者:行者123 更新时间:2023-11-29 22:46:53 27 4
gpt4 key购买 nike

也许我遗漏了一些东西,我误解了有关 MySQL-PHP 连接的一些东西......我无法弄清楚。我知道要阅读的内容会很多,但我无法用更少的话来表达……抱歉!

问题是:我正在使用XAMPP;我在 Phpmyadmin 中创建了一个权限低于用户“root”的“用户”(仅插入和更新),然后我在 php 文件中使用这个新用户连接到 MySQL。连接并选择特定数据库(“测试”)后,我使用 DELETE 查询只是为了看看它做了什么,它实际上从我指定的表中删除了行,尽管我预计它无法执行此操作因为我用来连接数据库的用户只有插入和更新权限。我错过了什么?

在 phpmyadmin 的“mysql”数据库 -“用户”表中,出现了我的低权限“用户”,并且它具有我授予它的确切权限,并且它们是全局的!不过,如果我使用此“用户”连接到另一个数据库并尝试使用删除查询,它会说访问被拒绝。因此,它就像一个“管理员”,只有一个数据库(“测试”),但对所有其他数据库拥有有限的权限。

这是“用户”选项卡的屏幕截图。受限用户位于底部('用户')-http://gyazo.com/1ed0218982a4b80eb2927cee78e2a46c

最佳答案

可能的解决方案是,无论出于何种原因,您的应用程序都以不同的用户身份进行连接。尝试运行 STATUS;` 并仔细查看输出,而不是 DELETE 查询。除此之外,您应该看到类似

的行
Current user:           user@localhost

如果是其他情况,那么您的脚本没有以您认为的用户身份进行连接,您必须检查您的应用程序以了解发生这种情况的原因。如果确实是 user@localhost,下一步就是以该用户身份登录 phpMyAdmin(只需在登录字段中使用“user”作为用户名)。连接后,请在主页右侧查找您所连接的用户和主机。

一个不太可能的解决方案是您为 user@localhost 帐户添加了额外的数据库级权限 - 要检查这一点,请单击“编辑权限”链接,然后转到顶部的“数据库”选项卡,看看是否那里出现了一些奇怪的东西。

这是一个具有全局 INSERT 和 UPDATE 权限以及对 sakila 数据库的完全控制权的用户:

enter image description here

关于php - 通过 PHP 连接到权限较低的 MySQL 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29050217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com