1
resposta

[Dúvida] Link Banco de Dados

Boa tarde pessoal, tudo bem? Estou criando um site para a empresa na qual eu trabalho, e estou pensando seriamente em utilizar o banco de dados deles de forma direta no site, por meio de uma API, a ideia seria basicamente extrair com uma view e enviar via API os dados dos representantes (exemplo) para o site e mostrar de forma dinâmica no site, conforme fosse atualizado o banco de dados o site seria atualizado automáticamente.

Porém me vem o questionamento, qual o perigo de fazer isso no sentido de um possível SQL INJECTION ou ataque hacker, devo me preocupar? Ou apenas mostrar os dados não teria perigo?

1 resposta

Oi Gustavo, tudo bem?

A sua ideia de utilizar uma API para conectar o site ao banco de dados da empresa é interessante, mas é importante sim se preocupar com questões de segurança, como o SQL Injection e outros tipos de ataques.

O SQL Injection é uma técnica de ataque que permite que um invasor insira ou manipule consultas SQL, o que pode resultar no acesso não autorizado ao banco de dados. Para mitigar esse risco, é fundamental seguir algumas práticas de segurança:

  1. Utilize Prepared Statements: Ao invés de concatenar strings para formar suas consultas SQL, utilize prepared statements ou consultas parametrizadas. Isso ajuda a evitar que entradas maliciosas sejam interpretadas como parte da consulta SQL.

    Exemplo em PHP usando PDO:

    $stmt = $pdo->prepare('SELECT * FROM representantes WHERE id = :id');
    $stmt->execute(['id' => $id]);
    
  2. Validação e Sanitização de Dados: Sempre valide e sanitize a entrada de dados dos usuários. Isso significa verificar se os dados estão no formato esperado e remover ou escapar caracteres especiais que possam ser usados em um ataque.

  3. Utilize Firewalls e Monitoramento: Implementar um Web Application Firewall (WAF) pode ajudar a detectar e bloquear tentativas de ataque. Além disso, monitore o tráfego e os logs para identificar atividades suspeitas.

  4. Restrições de Acesso: Limite o acesso ao banco de dados apenas para o que é necessário. Por exemplo, se a API só precisa ler dados, não conceda permissões de escrita.

  5. Atualizações e Patches: Mantenha seu sistema, banco de dados e bibliotecas sempre atualizados com os patches de segurança mais recentes.

Mesmo que você esteja apenas exibindo dados, é crucial garantir que a aplicação esteja protegida contra vulnerabilidades, já que um ataque bem-sucedido pode comprometer a integridade e a confidencialidade dos dados.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.