Questão de Segurança da Informação — Autenticação — UFLA 2025
Segurança da InformaçãoAutenticação
- Código
- qg619876
- Banca
- UFLA
- Órgão
- UFLA
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista em Tecnologia da Informação
Considere a seguinte situação hipotética:Um desenvolvedor PHP deseja implementar uma autenticação segura de usuários. Para tanto, implementou o trecho de código para armazenamento seguro da senha, conforme a seguir.$hash = password_hash($senha, PASSWORD_BCRYPT);$stmt = $pdo->prepare("INSERT INTO users (user, password) VALUES(?, ?)");$stmt->execute([$user, $hash]);Após a etapa de cadastro, é preciso implementar a funcionalidade de autenticação. Considerando o Open Worldwide Application Security Project (OWASP), assinale a opção que representa a IMPLEMENTAÇÃO MAIS SEGURA para inicialização da sessão de usuário:
- AOPÇÃO 1$stmt = $pdo->prepare("SELECT password FROM users WHERE user = ?");$stmt->execute([$user]);$row = $stmt->fetch();if (password_verify($senha, $row['password'])) {session_start();session_regenerate_id();$_SESSION['user'] = $user;}
- BOPÇÃO 2$row = mysqli_fetch_assoc(mysqli_query($conn, "SELECT password FROM users WHERE user = '".$conn->real_escape_string($user)."'"));if (password_verify($senha, $row['password'])) {session_start();session_regenerate_id(true);setcookie(session_name(), session_id(), 0, "/", "", false, false);$_SESSION['user'] = $user;}
- COPÇÃO 3$row = mysqli_fetch_assoc(mysqli_query($conn, "SELECT password FROM users WHERE user = '$user'"));if (md5($senha) === $row['password']) {session_start();$_SESSION['user'] = $user;}
- DOPÇÃO 4$row = $pdo->query("SELECT password FROM users WHERE user = '$user'")->fetch();if (hash('sha1', $senha) === base64_decode($row['password'])) {session_start();$_SESSION['user'] = $user;}