我能够从写这条线隐藏数据库
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
在config.inc.php文件PF的phpmyadmin。
它有可能通过链接直接访问该数据库的内容,如http://www.test.com/phpmyadmin/index.php?db=information_schema&token=3ba37ae1e41f6a10e4afc7c69b934bba
这怎么可能去除INFORMATION_SCHEMA数据库的完全访问权限?
你甚至可以使用管式分离机隐藏多个数据块
$cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|mysql';
我在外面目录phpMyAdmin安装,但这些方法并没有为我工作。
打开phpMyAdmin的
Settings > Features > General > database > Hide databases
输入您要隐藏如下数据库
information_schema|performance_schema|mysql
如果你也想从一个URL访问INFORMATION_SCHEMA像你张贴限制用户,你是不是满意hide_db
配置指示,你可以在phpMyAdmin的config.inc.php文件添加以下行。
if($_GET['db'] == 'information_schema')exit;
我会写上最高upvoted答案此评论,但我没有足够的声誉呢。
当指定多个数据库,请记住它下的正则表达式规则下运行(如帮助状态)。 因此,尽管它可能是不可能的,把“INFORMATION_SCHEMA | performance_schema | mysql的”也将隐藏包含这些字符串的任何数据库的。
相反,把 “^ INFORMATION_SCHEMA | performance_schema | mysql的$”。 在正则表达式,^表示字符串的开头,$表示结束。
这意味着你也可以隐藏部分字符串的数据库。 您应该始终控制由MySQL用户权限的数据库访问,你可以隐藏DB的使用部分匹配的组。 例如,如果你不想让你所有的测试数据库可见,你可以把“^ TEST_”中隐藏的数据库字段,它会隐藏与TEST_启动所有数据库。 EG test_123,test_456。