<?php
session_start();
function validarDispositivo($data) {
    // Establecer valores por defecto
    $platform = $data[0] ?? 'Unknown';
    $cpuCores = $data[1] ?? 'Unknown';
    $deviceMemory = $data[2] ?? 'Unknown';
    
    // Validar plataforma
    if (stripos($platform, 'Win32') !== false) {
        return false; // Plataforma Win32 no permitida
    }

    // Validar núcleos de CPU
    if ($cpuCores !== 'Unknown' && intval($cpuCores) >= 10) {
        return false; // CPU Cores demasiado altos
    }

    // Validar memoria del dispositivo
    if ($deviceMemory !== 'Unknown') {
        $memoryGB = floatval($deviceMemory);
        if ($memoryGB >= 16) {
            return false; // Memoria demasiado alta
        }
    }

    return true; // Validación exitosa
}

if (isset($_POST['fingerprint'])) {
    $fingerprint = htmlspecialchars($_POST['fingerprint']);
    
    // Analizar los datos del fingerprint
    $data = explode('*_*_*', $fingerprint);

    // Validar los datos del dispositivo
    $esValido = validarDispositivo($data);
    
    // Mostrar la información del fingerprint en formato HTML
    //echo "<h1>Información del Dispositivo</h1>";
    if ($esValido) {
        $deviceInfo = [
            'CPU Cores' => $data[1] ?? 'Unknown',
            'Device Memory' => $data[2] ?? 'Unknown',
            'User Agent' => $data[3] ?? 'Unknown',
            'Platform' => $data[0] ?? 'Unknown'
        ];

        /*echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<thead><tr><th>Propiedad</th><th>Valor</th></tr></thead>";
        echo "<tbody>";
        foreach ($deviceInfo as $key => $value) {
            echo "<tr><td>$key</td><td>$value</td></tr>";
        }
        echo "</tbody>";
        echo "</table>";*/
        $_SESSION['CEL'] = true;
        header('Location: /tinicio.php');
        
        //echo "<p>El dispositivo es un movil.</p>";
    } else {
        $_SESSION['CEL'] = false;
        //echo "<p>El dispositivo es un PC.</p>";
    }
    //echo "<h2>Fingerprint Raw Data</h2>";
    //echo "<pre>$fingerprint</pre>";
    exit();
} else {
    echo "
    <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Obtener información del dispositivo
        var userAgent = navigator.userAgent;
        var platform = navigator.platform;
        var cpuCores = navigator.hardwareConcurrency || 'unknown';
        var deviceMemory = navigator.deviceMemory || 'unknown';
        
        // Crear un identificador único basado en las características del dispositivo
        var fingerprint = [   
            platform,
            cpuCores,
            deviceMemory,
            userAgent
        ].join('*_*_*');
    
        // Crear y enviar el formulario oculto
        var form = document.createElement('form');
        form.method = 'POST';
        form.action = 'index.php'; // Cambia la URL al archivo PHP de tu servidor
    
        var inputFingerprint = document.createElement('input');
        inputFingerprint.type = 'hidden';
        inputFingerprint.name = 'fingerprint';
        inputFingerprint.value = fingerprint;
        form.appendChild(inputFingerprint);
    
        document.body.appendChild(form);
        form.submit();
    });
    </script>";
}
?>
