home
/
u529748449
/
domains
/
borabilhete.com
/
public_html
/
public
➕ New
📤 Upload
✎ Editing:
processa_redefinir_senha.php
← Back
<?php session_start(); require_once __DIR__ . '/../admin/conexao.php'; $tokenRaw = $_POST['token'] ?? ''; $senha = (string)($_POST['senha'] ?? ''); $senha2 = (string)($_POST['senha2'] ?? ''); /* Sem token -> peça um novo link */ if ($tokenRaw === '' || !is_string($tokenRaw)) { $_SESSION['reset_flash'] = 'Link inválido ou expirado.'; header('Location: esqueci_senha.php'); exit; } /* Validação das senhas */ if (strlen($senha) < 6 || $senha !== $senha2) { $_SESSION['reset_flash'] = 'As senhas precisam coincidir e ter no mínimo 6 caracteres.'; header('Location: redefinir_senha.php?token=' . rawurlencode($tokenRaw)); exit; } /* Token deve ser o hex de 64 chars que enviamos no e-mail */ if (!preg_match('/^[A-Fa-f0-9]{64}$/', $tokenRaw)) { $_SESSION['reset_flash'] = 'Link inválido ou expirado.'; header('Location: esqueci_senha.php'); exit; } /* Conferência do token (armazenado como SHA-256 na tabela) */ $tokenHash = hash('sha256', $tokenRaw); $st = $conn->prepare("SELECT cliente_id FROM password_resets WHERE token = ? AND expires_at > NOW() LIMIT 1"); $st->bind_param('s', $tokenHash); $st->execute(); $row = $st->get_result()->fetch_assoc(); $st->close(); if (!$row) { $_SESSION['reset_flash'] = 'Link inválido ou expirado.'; header('Location: esqueci_senha.php'); exit; } $clienteId = (int)$row['cliente_id']; /* Atualiza senha do cliente */ $hash = password_hash($senha, PASSWORD_DEFAULT); $up = $conn->prepare("UPDATE clientes SET senha=? WHERE id=?"); $up->bind_param('si', $hash, $clienteId); $ok = $up->execute(); $up->close(); /* Invalida tokens desse usuário */ $del = $conn->prepare("DELETE FROM password_resets WHERE cliente_id=?"); $del->bind_param('i', $clienteId); $del->execute(); $del->close(); /* Mensagem final */ if ($ok) { $_SESSION['reset_flash'] = 'Senha redefinida com sucesso! Você já pode entrar.'; header('Location: login.php'); exit; } else { $_SESSION['reset_flash'] = 'Falha ao redefinir senha. Tente novamente.'; header('Location: redefinir_senha.php?token=' . rawurlencode($tokenRaw)); exit; }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel