你可以在phpMyAdmin中隐藏MySQL用户的表吗?

ack*_*ack 4 mysql phpmyadmin

我有一个MySQL用户添加到数据库,我想阻止查看某些表.

我可以通过阻止他们运行DROP或ALTER等语句来限制他们的权限.但是有可能阻止他们在phpMyAdmin中查看某些表吗?

如果没有控制它的MySQL权限(我不会想到会有),phpMyAdmin中是否有允许这样的配置?

我理解这里的一个解决方法是将表移动到一个他们没有添加到的新数据库.这不是我的应用程序的选项.

小智 8

是的,您可以在phpmyadmin中隐藏特定数据库.
为了做到这一点,只需打开config.inc.php文件在你的phpmyadmin目录中Web服务器的根还是在那里放置.或者搜索config.inc.php
如果你想隐藏information_schemamysql之后添加这行:

$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['hide_db'] = '^information_schema|mysql$';
Run Code Online (Sandbox Code Playgroud)

就是这个.


roo*_*ook 0

您可以将表移动到另一个数据库,然后限制用户帐户只能访问具有公共表的 1 个数据库。尝试修改 phpmyadmin 将是一个巨大的错误,用户只需编写自定义查询来访问表,这就是一个非常简单的黑客攻击。

这必须在数据库端完成,否则绝对没有意义。 SE-Postgresql是我所知道的唯一允许逐表权限的项目。这是唯一可以做到这一点的数据库,因为很少有人需要这个功能。