如何隐藏phpMyAdmin的INFORMATION_SCHEMA信息数据库(How to hide

2019-07-31 02:53发布

我能够从写这条线隐藏数据库

$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数据库的完全访问权限?

Answer 1:

你甚至可以使用管式分离机隐藏多个数据块

$cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|mysql';


Answer 2:

我在外面目录phpMyAdmin安装,但这些方法并没有为我工作。

打开phpMyAdmin的

Settings > Features > General > database > Hide databases

输入您要隐藏如下数据库

information_schema|performance_schema|mysql


Answer 3:

如果你也想从一个URL访问INFORMATION_SCHEMA像你张贴限制用户,你是不是满意hide_db配置指示,你可以在phpMyAdmin的config.inc.php文件添加以下行。

if($_GET['db'] == 'information_schema')exit;


Answer 4:

我会写上最高upvoted答案此评论,但我没有足够的声誉呢。

当指定多个数据库,请记住它下的正则表达式规则下运行(如帮助状态)。 因此,尽管它可能是不可能的,把“INFORMATION_SCHEMA | performance_schema | mysql的”也将隐藏包含这些字符串的任何数据库的。

相反,把 “^ INFORMATION_SCHEMA | performance_schema | mysql的$”。 在正则表达式,^表示字符串的开头,$表示结束。

这意味着你也可以隐藏部分字符串的数据库。 您应该始终控制由MySQL用户权限的数据库访问,你可以隐藏DB的使用部分匹配的组。 例如,如果你不想让你所有的测试数据库可见,你可以把“^ TEST_”中隐藏的数据库字段,它会隐藏与TEST_启动所有数据库。 EG test_123,test_456。



文章来源: How to hide information_schema database from phpmyadmin