Cita:
Iniciado por abimaelrc En realidad, obtener la ip real del visitante, tiene sus fallos. Hay servidores que sirven como proxy y algunos de ellos reportan el IP que tenía anteriormente y otros no. Por lo que verificar el ip, solo es cuestión de usar algún código sencillo como por ejemplo
Código PHP:
Ver original<?php
function get_real_ip()
{
if (isset($_SERVER["HTTP_CLIENT_IP"])) {
return $_SERVER["HTTP_CLIENT_IP"];
}
elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isset($_SERVER["HTTP_X_FORWARDED"])) {
return $_SERVER["HTTP_X_FORWARDED"];
}
elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
return $_SERVER["HTTP_FORWARDED_FOR"];
}
elseif (isset($_SERVER["HTTP_FORWARDED"])) {
return $_SERVER["HTTP_FORWARDED"];
}
else
{
return $_SERVER["REMOTE_ADDR"];
}
}
echo get_real_ip();
El código es tomado de
http://www.vision.to/get-a-real-ip-vs-proxy.php
Si deseas usar el tuyo, también lo puedes hacer. Pero debes saber que no necesariamente vas a obtener la IP real del cliente, por lo que te indiqué. Y leyendo un tema por ahí, indican que no uses HTTP_X_FORWARDED_FOR porque una persona puede hacer un "spoofed", engañando al sistema y por lo tanto entrar como si fuera por ejemplo el servidor tuyo.
Entonces si quisiera hacer por ejemplo que solo se ejecute un script si la llamada procede de una determinada página y tiene la IP del servidor (Ej. vía cron) debería fiarme solo de $_SERVER["REMOTE_ADDR"] ?
Muchas gracias de antemano!