Pergunta

Eu tenho um usuário MySQL adicionado a um banco de dados que gostaria de evitar de visualizar determinadas tabelas.

Posso limitar seus privilégios através do MySQL, impedindo -os de executar declarações como Drop ou Alter. Mas é possível impedi -los de visualizar certas tabelas em phpmyadmin?

Se não houver um privilégio do MySQL que controla isso (eu não imaginaria que haveria), existe uma configuração no phpmyadmin que permite isso?

Entendo que uma solução alternativa aqui é mover as tabelas para um novo banco de dados às quais eles não são adicionados. Esta não é uma opção para o meu aplicativo.

Foi útil?

Solução

Você pode mover as tabelas para outro banco de dados e restringir a conta de usuário para acessar apenas o 1 banco de dados com as tabelas públicas. Tentando modificar o phpmyadmin seria um erro enorme, o usuário poderia apenas escrever uma consulta personalizada para acessar as tabelas, que é um hack simples.

Isso deve ser feito no lado do banco de dados ou não há absolutamente nenhum ponto. SE-POSTGRESQL é o único projeto que conheço que permite a tabela por permissões de tabela. Este é o único banco de dados que pode fazer isso porque muito Poucas pessoas precisam desse recurso.

Outras dicas

Sim, você pode ocultar um banco de dados específico em phpmyadmin.
Para fazer isso, apenas abra config.inc.php na tua phpmyadmin Diretório em sua raiz do servidor da web ou onde é colocada. ou procure config.inc.php
Se você quiser se esconder Information_schema e mysql Adicione esta linha depois:

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

É isso.

O PHPMyadmin se conecta ao banco de dados como um certo usuário do MySQL. Se esse usuário não tiver alguma permissões nas tabelas fornecidas, nenhum usuário de phpmyadmin poderá acessar isso. Isso seria para tudo Usuários do mypmyadmin, é claro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top