File "validarUsuario.php"
Full Path: C:/wamp64/www/sistemas/validarUsuario.php
File size: 3.03 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// validarUsuario.php
session_start();
include("connection.php");
$con = connection();
// Verificar si se enviaron los datos del formulario
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// --- Validación de reCAPTCHA ---
if (!isset($_POST['g-recaptcha-response']) || empty($_POST['g-recaptcha-response'])) {
echo "<script>alert('Por favor completa el captcha.'); window.location.href='login.php';</script>";
exit();
}
$recaptcha_response = $_POST['g-recaptcha-response'];
$secret_key = '6LcUafsrAAAAAL2xMNSvimYvzrMlC3YFSgUJGQPx';
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
'secret' => $secret_key,
'response' => $recaptcha_response,
'remoteip' => $_SERVER['REMOTE_ADDR']
);
// Usar file_get_contents con contexto HTTP
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
// Error al conectar con el servicio de reCAPTCHA
echo "<script>alert('Error al validar el captcha. Intenta de nuevo.'); window.location.href='login.php';</script>";
exit();
}
$result_json = json_decode($result, true);
if (!$result_json['success']) {
// Captcha inválido
echo "<script>alert('La verificación de seguridad falló. Por intenta de nuevo.'); window.location.href='login.php';</script>";
exit();
}
// --- Fin validación reCAPTCHA ---
// Obtener y sanitizar los datos del formulario
$nombre = mysqli_real_escape_string($con, $_POST['nombre']);
$contrasena = mysqli_real_escape_string($con, $_POST['contrasena']);
// Consultar la base de datos para verificar las credenciales
$sql = "SELECT * FROM Usuarios WHERE nombre = '$nombre'";
$query = mysqli_query($con, $sql);
if (mysqli_num_rows($query) > 0) {
$usuario = mysqli_fetch_array($query);
// Verificar la contraseña
if ($contrasena == $usuario['contrasena']) {
// Credenciales correctas, crear sesión
$_SESSION['id'] = $usuario['id'];
$_SESSION['nombre'] = $usuario['nombre'];
$_SESSION['loggedin'] = true;
// Redirigir a index.php
header("Location: index.php");
exit();
} else {
// Contraseña incorrecta
echo "<script>alert('Contraseña incorrecta'); window.location.href='login.php';</script>";
}
} else {
// Usuario no encontrado
echo "<script>alert('Usuario no encontrado'); window.location.href='login.php';</script>";
}
} else {
// Si alguien intenta acceder directamente a este archivo
header("Location: login.php");
exit();
}
?>