Cómo detectar IP y mostrar mensaje si es una determinada

Rhazz Seguir

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
15 May 2012
Mensajes
388
Hola amigos, lo que quiero hacer es un simple código que detecte la IP de cada visitante y la registre (la guarde) en algún lugar donde luego yo pueda ver más tarde, pero que además muestre un mensaje si es X IP, es decir, alguien entra a la web, su IP es registrada y si coincide con la IP que quiero, le mostraría un texto o imagen o algo.
Lo quiero hacer en un servidor gratuito, solo para jugar una broma.
Encontré cun código que parece que me sirve, a excepción de que no muestra un mensaje.
Insertar CODE, HTML o PHP:
<?
$Fichero = "log.txt"; //nombre del fichero donde guardamos los informes
$ip = $_SERVER["REMOTE_ADDR"]; //guarda en la variable el ip
$fecha = date("Y-m-d;h:i:s"); //fecha y hora (por lo general del servidor)
$sistema = $_SERVER['HTTP_USER_AGENT']; //esto nos genera varios datos del navegador y del sistema operativo
$conproxy = $_SERVER["HTTP_X_FORWARDED_FOR"]; //en caso de usar proxy para esconderse aqui estaria el ip real
$log = "FECHA: $fecha SISTEMA: $sistema IP: $ip IPPROXY: $conproxyn";
$fp = fopen($Fichero, "a" );
fwrite($fp, $log);
fclose($fp);
?>

Espero alguien me pueda ayudar, solo me falta la parte de mostrar el mensaje si es la IP que quiero.
Si no saben el código pero saben donde lo puedo encontrar, me pasan la página con el tutorial o información.
Saludos
(PD: espero este tema vaya aquí, no sabía en que categoría ponerlo)
 

ecoal95

Gamma
Programador
Desde
1 Sep 2012
Mensajes
243
Hola amigos, lo que quiero hacer es un simple código que detecte la IP de cada visitante y la registre (la guarde) en algún lugar donde luego yo pueda ver más tarde, pero que además muestre un mensaje si es X IP, es decir, alguien entra a la web, su IP es registrada y si coincide con la IP que quiero, le mostraría un texto o imagen o algo.
Lo quiero hacer en un servidor gratuito, solo para jugar una broma.
Encontré cun código que parece que me sirve, a excepción de que no muestra un mensaje.
Insertar CODE, HTML o PHP:
<?
$Fichero = "log.txt"; //nombre del fichero donde guardamos los informes
$ip = $_SERVER["REMOTE_ADDR"]; //guarda en la variable el ip
$fecha = date("Y-m-d;h:i:s"); //fecha y hora (por lo general del servidor)
$sistema = $_SERVER['HTTP_USER_AGENT']; //esto nos genera varios datos del navegador y del sistema operativo
$conproxy = $_SERVER["HTTP_X_FORWARDED_FOR"]; //en caso de usar proxy para esconderse aqui estaria el ip real
$log = "FECHA: $fecha SISTEMA: $sistema IP: $ip IPPROXY: $conproxyn";
$fp = fopen($Fichero, "a" );
fwrite($fp, $log);
fclose($fp);
?>

Espero alguien me pueda ayudar, solo me falta la parte de mostrar el mensaje si es la IP que quiero.
Si no saben el código pero saben donde lo puedo encontrar, me pasan la página con el tutorial o información.
Saludos
(PD: espero este tema vaya aquí, no sabía en que categoría ponerlo)


No es nada difícil :), supongamos que la ip para la que quieres mostrar un mensaje es 111.111.111.111
PHP:
if( $ip === '111.111.111.111' ) {
    echo "Eres el visitante un millón! (nah, ahora en serio, esto sale porque tu ip es $ip)";
}
 

Rhazz

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
15 May 2012
Mensajes
388
No es nada difícil :), supongamos que la ip para la que quieres mostrar un mensaje es 111.111.111.111
PHP:
if( $ip === '111.111.111.111' ) {
    echo "Eres el visitante un millón! (nah, ahora en serio, esto sale porque tu ip es $ip)";
}

Muchas gracias! Yo pensaba que debía usar esa función, pero como de PHP sé casi nada no tenía idea de cómo. La función "if" es una de las únicas que conozco xD
Ahora mismo voy a googlear sobre ella :p
 
Última edición:

kronenmix

Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Sep 2010
Mensajes
49
function get_ip() {

//get useful vars:
$client_ip = $_SERVER['HTTP_CLIENT_IP'];
$x_forwarded_for = $_SERVER['HTTP_X_FORWARDED_FOR'];
$remote_addr = $_SERVER['REMOTE_ADDR'];

// then the script itself
if (!empty ($client_ip) )
{
$ip_expl = explode('.',$client_ip);
$referer = explode('.',$remote_addr);
if($referer[0] != $ip_expl[0])
{
// $ip=array_reverse($ip_expl); / CON LA IP DE MI ADSL NO FUNCIONA :mad:
$ip=$ip_expl;
$return=implode('.',$ip);
}
else
$return = $client_ip;
}
elseif (!empty($x_forwarded_for) )
{
if(strstr($x_forwarded_for,','))
{
$ip_expl = explode(',',$x_forwarded_for);
$return = end($ip_expl);
}
else
$return = $x_forwarded_for;
}
else
$return = $remote_addr;

if (!$return)
$return=get_ip1();
if (!$return)
$return="NOIP";

unset ($client_ip,$x_forwarded_for,$remote_addr,$ip_expl);

$ip=$return;
$ip=trim($ip,"['");
$ip=trim($ip,"']");

return $ip;
}
 
Arriba