Mejoras de seguridad y nueva tabla de turnos para ayudantes
- Agregado sistema de protección CSRF con tokens - Creada clase Session para gestión centralizada de sesiones - Mejorado manejo de errores en Database (sin die()) - Refactorizado Auth para usar nueva clase Session - Agregada validación CSRF a formularios de login y admin - Agregada validación de roles en modelo User - Mejorada vista de ayudante con tabla de horarios por semana - Agregada tabla de Turnos de Ayudantes con fechas en columnas
This commit is contained in:
@@ -3,6 +3,7 @@ ini_set('display_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
require_once __DIR__ . '/../src/Auth.php';
|
||||
require_once __DIR__ . '/../src/CSRF.php';
|
||||
|
||||
$auth = new Auth();
|
||||
|
||||
@@ -19,22 +20,25 @@ $error = '';
|
||||
$loginInput = '';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$loginInput = trim($_POST['login'] ?? '');
|
||||
$password = $_POST['password'] ?? '';
|
||||
|
||||
if (empty($loginInput) || empty($password)) {
|
||||
$error = 'Por favor ingresa usuario/email y contraseña';
|
||||
if (!CSRF::isValidRequest()) {
|
||||
$error = 'Error de validación del formulario';
|
||||
} else {
|
||||
if ($auth->login($loginInput, $password)) {
|
||||
session_write_close();
|
||||
if ($auth->isAdmin()) {
|
||||
header('Location: /admin/index.php');
|
||||
} else {
|
||||
header('Location: /ayudante.php');
|
||||
}
|
||||
exit;
|
||||
$loginInput = trim($_POST['login'] ?? '');
|
||||
$password = $_POST['password'] ?? '';
|
||||
|
||||
if (empty($loginInput) || empty($password)) {
|
||||
$error = 'Por favor ingresa usuario/email y contraseña';
|
||||
} else {
|
||||
$error = 'Usuario/email o contraseña incorrectos';
|
||||
if ($auth->login($loginInput, $password)) {
|
||||
if ($auth->isAdmin()) {
|
||||
header('Location: /admin/index.php');
|
||||
} else {
|
||||
header('Location: /ayudante.php');
|
||||
}
|
||||
exit;
|
||||
} else {
|
||||
$error = 'Usuario/email o contraseña incorrectos';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -61,6 +65,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="POST">
|
||||
<?= CSRF::getTokenField() ?>
|
||||
<div class="mb-3">
|
||||
<label for="login" class="form-label">Usuario o Email</label>
|
||||
<input type="text" class="form-control" id="login" name="login"
|
||||
|
||||
Reference in New Issue
Block a user