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.
- 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.
- 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.
- 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.
- 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.