普通用户能删库是因为phpMyAdmin默认允许有DROP权限的用户执行DROP DATABASE且界面不校验权限粒度;需同时设置$cfg['AllowUserDropDatabase'] = false并收回MySQL层DROP权限,再禁用$cfg['IgnoreMultiSubmitErrors']以实现双保险。
phpMyAdmin 默认允许有 DROP 权限的用户执行 DROP DATABASE,但界面层不校验权限粒度——只要 MySQL 账号本身有 DROP 权限,phpMyAdmin 就会显示「删除数据库」按钮。很多人以为只在 phpMyAdmin 里不给权限就安全了,其实不是:MySQL 层的权限才是决定性因素。
这个配置项控制 phpMyAdmin 是否渲染删除数据库按钮。设为 false 后,即使用户账号有 DROP 权限,界面上也根本看不到「删除」链接或弹窗提示。
config.inc.php(不是 config.default.php)中添加或修改这一行$cfg['Servers'][$i] 配置块**之外**,全局生效false,不是字符串 'false',否则无效光关按钮没用。攻击者可绕过 phpMyAdmin,直接连 MySQL 执行 DROP DATABASE xxx。所以必须从源头撤销权限:
REVOKE DROP ON *.* FROM 'username'@'host';
ALL PRIVILEGES,先 REVOKE ALL 再重新授最小权限,否则 REVOKE DROP 不生效SHOW GRANTS;,确认输出里没有 DROP
这个参数默认为 true,会导致批量操作(比如同时删多个库)时跳过权限错误继续执行。一旦用户误点或被诱导提交恶意请求,可能删掉本不该碰的库。
false:$cfg['IgnoreMultiSubmitErrors'] = false;
$cfg['AllowUserDropDatabase'] 配合,形成界面+逻辑双保险真正起作用的是 MySQL 权限 + phpMyAdmin 配置的组合,单靠一个层面永远不牢靠。尤其是当用户能直连数据库时,phpMyAdmin 的按钮开关只是第一道提醒,不是锁。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)