Pular para o conteúdo principal

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:
  1. 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;}
  2. 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;}
  3. 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;}
  4. 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;}
Revelar gabarito e comentário

GabaritoA — OPÇÃ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; }

Link permanente: /questoes/qg619876