🔑 Recuperar Contraseña de Administrador
⚠️ Advertencia de Seguridad:
Esta utilidad solo debe usarse desde el servidor local y debe eliminarse después del uso. Nunca la dejes accesible públicamente.
📋 Información Actual del Sistema:
Usuario administrador:
Hash actual: ...
IP de acceso:
❌
Error: Todos los campos son requeridos.
';
} elseif ($newPassword !== $confirmPassword) {
echo '❌ Error: Las contraseñas no coinciden.
';
} elseif (strlen($newPassword) < 6) {
echo '❌ Error: La contraseña debe tener al menos 6 caracteres.
';
} else {
// Generar nuevo hash
$newHash = password_hash($newPassword, PASSWORD_DEFAULT);
// Leer el archivo config.php
$configFile = 'config/config.php';
$configContent = file_get_contents($configFile);
// Reemplazar la línea del password
$oldLine = "define('ADMIN_PASSWORD', '" . ADMIN_PASSWORD . "');";
$newLine = "define('ADMIN_PASSWORD', '" . $newHash . "');";
$newConfigContent = str_replace($oldLine, $newLine, $configContent);
if ($newConfigContent !== $configContent && file_put_contents($configFile, $newConfigContent)) {
echo '✅ ¡Éxito! La contraseña ha sido actualizada correctamente.
';
echo '🔄 Importante: Recarga la página para ver los cambios reflejados.
';
// Log del cambio
$logEntry = "[" . date('Y-m-d H:i:s') . "] Password reset from IP: " . $clientIP . PHP_EOL;
file_put_contents('logs/system.log', $logEntry, FILE_APPEND | LOCK_EX);
} else {
echo '❌ Error: No se pudo actualizar el archivo de configuración. Verifica permisos de escritura.
';
}
}
}
if ($_POST['action'] === 'verify_password') {
$testPassword = $_POST['test_password'] ?? '';
if (password_verify($testPassword, ADMIN_PASSWORD)) {
echo '✅ Correcto: La contraseña ingresada es válida.
';
} else {
echo '❌ Incorrecto: La contraseña ingresada no es válida.
';
}
}
if ($_POST['action'] === 'clear_login_attempts') {
$attemptsFile = '.login_attempts.json';
if (file_exists($attemptsFile)) {
unlink($attemptsFile);
echo '✅ Éxito: Intentos de login bloqueados eliminados.
';
} else {
echo '⚠️ Info: No hay intentos de login bloqueados.
';
}
}
}
}
?>
🛠️ Herramientas Adicionales
📝 Información Útil:
- Usuario por defecto:
admin
- Archivo de configuración:
config/config.php
- Página de login: login.php
- Timeout de sesión: minutos
- Intentos máximos: intentos
🔒 Recomendaciones de Seguridad:
- Usa una contraseña fuerte con al menos 8 caracteres
- Incluye mayúsculas, minúsculas, números y símbolos
- No uses la misma contraseña en otros sitios
- Elimina este archivo después de usar:
rm recuperar_password.php
🚀 Próximos Pasos:
- Cambia la contraseña usando el formulario de arriba
- Prueba el login en login.php
- Elimina este archivo por seguridad
- Accede al panel de administración