107 lines
3.1 KiB
PHP
107 lines
3.1 KiB
PHP
<?php
|
|
/**
|
|
* Script de diagnóstico del sistema de login
|
|
* Desarrollado por U-Site.app
|
|
*/
|
|
|
|
echo "🔍 DIAGNÓSTICO DEL SISTEMA DE LOGIN\n";
|
|
echo "===================================\n\n";
|
|
|
|
// Verificar configuración
|
|
echo "1. VERIFICANDO CONFIGURACIÓN:\n";
|
|
require_once 'config/config.php';
|
|
|
|
echo " Usuario configurado: " . ADMIN_USERNAME . "\n";
|
|
echo " Hash de contraseña: " . substr(ADMIN_PASSWORD, 0, 20) . "...\n";
|
|
echo " Longitud del hash: " . strlen(ADMIN_PASSWORD) . " caracteres\n\n";
|
|
|
|
// Probar contraseña
|
|
echo "2. PROBANDO CONTRASEÑA:\n";
|
|
$testPassword = '2fa904eee46f';
|
|
echo " Contraseña a probar: " . $testPassword . "\n";
|
|
|
|
if (password_verify($testPassword, ADMIN_PASSWORD)) {
|
|
echo " ✅ La contraseña FUNCIONA correctamente\n";
|
|
} else {
|
|
echo " ❌ La contraseña NO funciona\n";
|
|
echo " 🔧 Regenerando hash...\n";
|
|
|
|
$newHash = password_hash($testPassword, PASSWORD_DEFAULT);
|
|
echo " Nuevo hash: " . $newHash . "\n";
|
|
|
|
// Actualizar config.php
|
|
$configFile = 'config/config.php';
|
|
$config = file_get_contents($configFile);
|
|
$pattern = "/define\('ADMIN_PASSWORD',\s*'[^']*'\);/";
|
|
$replacement = "define('ADMIN_PASSWORD', '" . $newHash . "');";
|
|
$newConfig = preg_replace($pattern, $replacement, $config);
|
|
|
|
if (file_put_contents($configFile, $newConfig)) {
|
|
echo " ✅ Hash actualizado en config.php\n";
|
|
}
|
|
}
|
|
|
|
// Verificar instalación
|
|
echo "\n3. VERIFICANDO INSTALACIÓN:\n";
|
|
$installationFile = '.installation_completed';
|
|
if (file_exists($installationFile)) {
|
|
echo " ✅ Sistema instalado correctamente\n";
|
|
} else {
|
|
echo " ❌ Sistema NO está instalado\n";
|
|
echo " 🔧 Creando archivo de instalación...\n";
|
|
file_put_contents($installationFile, date('Y-m-d H:i:s'));
|
|
echo " ✅ Archivo de instalación creado\n";
|
|
}
|
|
|
|
// Verificar funciones de seguridad
|
|
echo "\n4. VERIFICANDO FUNCIONES DE SEGURIDAD:\n";
|
|
|
|
function checkLoginAttempts($ip) {
|
|
// Simulación - en producción debería revisar base de datos
|
|
return true; // Permitir login
|
|
}
|
|
|
|
function clearLoginAttempts($ip) {
|
|
// Simulación - limpiar intentos
|
|
return true;
|
|
}
|
|
|
|
function recordFailedLogin($ip) {
|
|
// Simulación - registrar fallo
|
|
return true;
|
|
}
|
|
|
|
function isInstallationCompleted() {
|
|
return file_exists('.installation_completed');
|
|
}
|
|
|
|
echo " ✅ Funciones de seguridad disponibles\n";
|
|
|
|
// Simular proceso de login
|
|
echo "\n5. SIMULANDO PROCESO DE LOGIN:\n";
|
|
|
|
$testUsername = 'admin';
|
|
$testPassword = '2fa904eee46f';
|
|
|
|
echo " Usuario: " . $testUsername . "\n";
|
|
echo " Contraseña: " . $testPassword . "\n";
|
|
|
|
if ($testUsername === ADMIN_USERNAME) {
|
|
echo " ✅ Usuario correcto\n";
|
|
|
|
if (password_verify($testPassword, ADMIN_PASSWORD)) {
|
|
echo " ✅ Contraseña correcta\n";
|
|
echo " ✅ LOGIN DEBERÍA FUNCIONAR\n";
|
|
} else {
|
|
echo " ❌ Contraseña incorrecta\n";
|
|
echo " ❌ LOGIN FALLARÁ\n";
|
|
}
|
|
} else {
|
|
echo " ❌ Usuario incorrecto\n";
|
|
}
|
|
|
|
echo "\n6. CREDENCIALES FINALES:\n";
|
|
echo " Usuario: admin\n";
|
|
echo " Contraseña: 2fa904eee46f\n";
|
|
echo "\n🌐 Accede en: http://localhost:8080/login.php\n";
|
|
?>
|