Programação  
 
Rede de conhecimento computador >> Programação >> Programação PHP /MySQL >> Content
Como você cria um usuário público que exige senha para visualizar o banco de dados no MySQL?
Veja como criar um usuário público no MySQL que requer uma senha para visualizar um banco de dados, juntamente com explicações e melhores práticas:

1. Conecte -se ao MySQL como root ou usuário administrador

Você precisará se conectar ao seu servidor MySQL usando uma conta de usuário com privilégios suficientes para criar usuários e conceder permissões. Normalmente, este é o usuário `root` ou outro usuário administrativo.

`` `BASH
Mysql -u Root -p
`` `

Digite a senha root quando solicitado.

2. Crie o usuário

Use a instrução `Create User` para criar o usuário. É uma prática recomendada especificar o host do qual o usuário pode se conectar. Se você deseja que o usuário se conecte de qualquer host, use `%`. Tenha muito cuidado ao usar `%'para contas sensíveis! Para uma abordagem mais segura, restrinja o usuário a se conectar apenas de endereços IP específicos ou nomes de host.

`` `SQL
Criar usuário 'public_user'@'%' identificado por 'your_strong_password';
`` `

* `'public_user'@'%'` :Isso define o nome de usuário (`public_user`) e o host (`%`significa qualquer host). Substitua `your_strong_password` por uma senha forte e exclusiva.
* `identificado por 'your_strong_password'` :Isso define a senha para o usuário. Use uma senha forte longa, complexa e inclui uma mistura de maiúsculas e letras minúsculas, números e símbolos. Considere usar um gerenciador de senhas para gerar e armazenar suas senhas com segurança.

Nota de segurança importante: O uso de `'%'` como host permite que o usuário se conecte de * qualquer endereço IP *. Isso pode ser um risco de segurança. Se possível, restrinja o usuário a um endereço IP específico ou intervalo de endereços IP. Por exemplo:

`` `SQL
Criar usuário 'public_user'@'192.168.1.100' identificado por 'your_strong_password'; - Aguarde apenas do IP 192.168.1.100
Criar usuário 'public_user'@'192.168.1.%' identificado por 'your_strong_password'; - Permitir da sub-rede 192.168.1.x
`` `

3. Conceda privilégios somente leitura para o banco de dados

Use a instrução `Grant` para conceder aos privilégios somente leitura do usuário no banco de dados desejado.

`` `SQL
Grant Selecione em seu_database.* Para 'public_user'@'%';
`` `

* `Grant Select` :Isso especifica que o usuário terá apenas o privilégio `select`, que lhes permite ler dados. Eles * não serão capazes de inserir, atualizar, excluir ou alterar a estrutura do banco de dados.
* `em seu_database.*` :Isso especifica o banco de dados (`your_database`) e que o privilégio se aplica a todas as tabelas nesse banco de dados (`.*`). Substitua `your_database` pelo nome real do seu banco de dados.
* `to 'public_user'@'%'` :Isso especifica o usuário a quem o privilégio é concedido. Verifique se isso corresponde ao usuário que você criou na etapa 2.

4. Privilégios de descarga

Após conceder privilégios, é essencial lavar as tabelas de privilégio para garantir que as mudanças entrem em vigor imediatamente.

`` `SQL
Privilégios descarregados;
`` `

5. Teste o usuário

Faça logon da conta raiz ou administrador e faça login usando a conta 'public_user' recém -criada.

`` `BASH
mysql -u public_user -p -h your_mysql_server_address
`` `

Substitua `your_mysql_server_address` pelo endereço real do seu servidor MySQL. Se você estiver se conectando da mesma máquina, geralmente pode usar o `localhost '.

Digite a senha definida para `public_user` quando solicitado.

Depois de conectado, tente selecionar dados do banco de dados:

`` `SQL
Use seu_database;
Selecione * do your_table;
`` `

Se a instrução `select` funcionar, o usuário recebeu acesso somente leitura. Experimente uma operação que requer outros privilégios, como `insert`,` update`, `Delete` ou` Create Table`. Eles devem falhar com um erro de "permissão negado".

Exemplo completo:

`` `SQL
-Conecte -se como raiz:mysql -u root -p

- Crie o usuário (substitua por uma senha forte!)
Crie o usuário 'public_user'@'%' identificado por 'SuperSecretPassword123!';

-Conceda acesso somente leitura ao banco de dados 'MyDatabase'
Grant Selecione no myDatabase.* Para 'public_user'@'%';

- Atualizar privilégios
Privilégios descarregados;

- Saia da sessão raiz
SAÍDA;

- Faça login como o novo usuário (na linha de comando):
-mysql -u public_user -p -h your_mysql_server_address

- Teste as permissões:
Use mydatabase;
Selecione * dos clientes; - deve funcionar

Inserir em clientes (nome) valores ('novo cliente'); - deve falhar

- Saia da sessão public_user
SAÍDA;
`` `

Considerações importantes e práticas recomendadas:

* Menos privilégio: Conceder apenas os privilégios necessários. Evite conceder privilégios mais amplos do que o necessário. Por exemplo, se o usuário precisar ler apenas uma tabela específica, conceda `selecione` apenas nessa tabela, não o banco de dados inteiro.
* Restrição do host: Limite os hosts dos quais o usuário pode se conectar. Não use `'%' ', a menos que seja absolutamente necessário e entenda as implicações de segurança.
* Gerenciamento de senha: Aplicar políticas de senha fortes e girar regularmente senhas. Use um gerenciador de senhas.
* Logging de auditoria: Ative o log de auditoria no seu servidor MySQL para rastrear a atividade do usuário, incluindo logins, consultas e outras operações. Isso pode ajudá -lo a detectar e investigar incidentes de segurança.
* auditorias de segurança regulares: Revise regularmente sua configuração, contas de usuário e privilégios do MYSQL para identificar e abordar possíveis vulnerabilidades de segurança.
* Criptografia: Use criptografia para proteger os dados em repouso e em trânsito. Ativar SSL para conexões do cliente.
* firewall: Configure seu firewall para permitir apenas o tráfego necessário para o seu servidor MySQL.
* Monitoramento : Monitore seu servidor MySQL quanto a problemas de desempenho e ameaças à segurança.
* Design de banco de dados: Projete seu banco de dados com segurança em mente. Use tipos e restrições de dados apropriados para evitar ataques de corrupção e injeção de dados. Considere usar declarações preparadas para evitar a injeção de SQL.
* Evite expor diretamente à Internet: Na maioria dos casos, você não deve * expor diretamente seu banco de dados MySQL à Internet pública. Em vez disso, use um servidor de aplicativos (por exemplo, um servidor da web executando PHP, Python, Node.js, etc.) para lidar com solicitações de clientes e interagir com o banco de dados em nome do usuário. Isso permite que você implemente controles mais rigorosos de segurança e proteja o banco de dados de ataques diretos. Isso é crucial para impedir o acesso não autorizado e violações de dados.
* Nenhuma exposição direta ao usuário final: Nunca permita que o usuário final insira diretamente seu banco de dados, em vez disso, use um site.

Seguindo essas etapas e práticas recomendadas, você pode criar um usuário público que requer uma senha para visualizar dados no MySQL, mantendo um nível razoável de segurança. Lembre -se de adaptar essas instruções aos seus requisitos específicos de ambiente e segurança. Sempre priorize a segurança e revise regularmente sua configuração para garantir que ela permaneça eficaz.

Anterior :

Próximo : No
  Os artigos relacionados
·Como redirecionar PHP Context Object 
·Como alterar o PHP Rodapé em Joomla 
·Como programar um seguro Intranet Sistema PHP 
·Como pesquisar corretamente módulos PHP usando a ferra…
·Como inserir um fundo gradiente usando PHP 
·PHP Referências Vs . Objeto Manipula 
·Como se proteger contra SQL Injeções em PHP 
·Como criar um botão personalizado em PHP 
·Como colocar PHP TeamSpeak no meu site 
·Tutorial para o MySQL no Scala 
  Artigos em destaque
·Como atualizar o PHP no iWeb 
·Como calcular o valor das expressões Java 
·Como acessar VBA Variável Tamanho da fonte 
·Como atualizar um campo no MySQL 
·Como alterar as propriedades de um modelo de CSS 
·Como alterar a cor de grade 
·Como verificar se uma caixa de seleção tem sido verif…
·O que é o Tampão & unbuffer em Memória 
·Como editar uma imagem em PHP 
·Qual é a diferença entre jogar uma exceção e captur…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados