Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CONSULPAM 2025

ProgramaçãoLinguagens de programação
Código
qg433581
Banca
CONSULPAM
Órgão
CONAB
Ano
2025
Nível
Superior
Cargo
Analista - Tecnologia da Informação (Desenvolvimento)
Durante um projeto de desenvolvimento de uma solução, um desenvolvedor constrói a seguinte função em Python:def autenticar(usuario, senha): query = f"SELECT * FROM usuarios WHERE nome = '{usuario}' AND senha = '{senha}'" resultado = banco.executar(query) if resultado: return "Login bem-sucedido" else: return "Credenciais inválidas" luz dos princípios e boas práticas de código seguro, assinale a alternativa CORRETA.
  1. AO código está seguro, pois utiliza interpolação de strings para montar a consulta SQL, o que facilita a leitura e evita erros de sintaxe; além disso, o retorno genérico em caso de falha impede vazamento de informações sensíveis.
  2. BA principal vulnerabilidade está na ausência de criptografia da senha, sendo recomendável aplicar um algoritmo de hash como SHA-1 diretamente na string da senha após armazená-la ou compará-la no banco de dados.
  3. CO código apresenta risco de injeção de SQL, pois concatena diretamente os parâmetros do usuário na query, de modo que a solução adequada envolve o uso de consultas parametrizadas e o armazenamento de senhas com hash seguro.
  4. DA revisão de código deve focar apenas na lógica de autenticação e não precisa considerar a forma como a consulta é construída, pois a responsabilidade pela segurança da consulta é do banco de dados.
Revelar gabarito e comentário

GabaritoC — O código apresenta risco de injeção de SQL, pois concatena diretamente os parâmetros do usuário na query, de modo que a solução adequada envolve o uso de consultas parametrizadas e o armazenamento de senhas com hash seguro.

Link permanente: /questoes/qg433581