| Ver tema anterior :: Ver siguiente tema |
| Autor |
Mensaje |
xtremer Yo soy el foro

Registrado: 22 Dic 2006
Mensajes: 1113
|
Publicado: Dom Ene 24, 2010 7:29 pm Título del mensaje: PHP Guardar IP de Visitantes [Ayuda] |
|
|
He encontrado varios codigos en internet, de como guardar la IP real de los visitantes. En realidad me sirve mas la idea de "mostrarla" xq eso de guardarla es facil.
A utds cual les parece el mejor, para saltear los proxy?
| Código: |
if (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]))
{
$nip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$array = split(", ", $nip);
$ip = $array[0];
$host = @gethostbyaddr($ip);
$ip = $nip;
}
else
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($ip);
}
|
| Código: |
<?php
function getIP() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (isset($_SERVER['HTTP_VIA'])) {
$ip = $_SERVER['HTTP_VIA'];
}
elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
$ip = "unknown";
}
echo "Tu IP es: $ip";
}
?> |
| Código: |
if ($_SERVER) {
if ( $_SERVER["HTTP_X_FORWARDED_FOR"] ) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
} elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$realip = getenv( 'HTTP_CLIENT_IP' );
} else {
$realip = getenv( 'REMOTE_ADDR' );
}
} |
| Código: |
function getRealIP()
{
if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
// los proxys van añadiendo al final de esta cabecera
// las direcciones ip que van "ocultando". Para localizar la ip real
// del usuario se comienza a mirar por el principio hasta encontrar
// una dirección ip que no sea del rango privado. En caso de no
// encontrarse ninguna se toma como valor el REMOTE_ADDR
$entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);
reset($entries);
while (list(, $entry) = each($entries))
{
$entry = trim($entry);
if ( preg_match("/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/", $entry, $ip_list) )
{
// http://www.faqs.org/rfcs/rfc1918.html
$private_ip = array(
'/^0\\./',
'/^127\\.0\\.0\\.1/',
'/^192\\.168\\..*/',
'/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/',
'/^10\\..*/');
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
if ($client_ip != $found_ip)
{
$client_ip = $found_ip;
break;
}
}
}
}
else
{
$client_ip =
( !empty($_SERVER['REMOTE_ADDR']) ) ?
$_SERVER['REMOTE_ADDR']
:
( ( !empty($_ENV['REMOTE_ADDR']) ) ?
$_ENV['REMOTE_ADDR']
:
"unknown" );
}
return $client_ip;
}
|
Fuentes:
http://www.forosdelweb.com/f18/ip-264149/
http://notasweb.com/articulo/php/obtener-ip-real-en-php-evitando-proxy.html
http://www.eslomas.com/index.php/archives/2005/04/26/obtencion-ip-real-php/ _________________
GameServers & WebHosting Provider |
|
| Volver arriba |
|
 |
BenJa - KuMo Yo soy el foro


Registrado: 14 Ago 2006
Mensajes: 3489
Ubicación: España
|
|
| Volver arriba |
|
 |
xtremer Yo soy el foro

Registrado: 22 Dic 2006
Mensajes: 1113
|
Publicado: Lun Feb 08, 2010 12:37 am Título del mensaje: |
|
|
xD okis
che xq acaso no me deja enviar el IP que encontre por la funcion mail() ?
lo toy poniendo como cualqier otro mensaje dentro, y no se envia 0.0
Una onda asi toy haciendo
| Código: |
$ip=getIP();
$msg .="IP: ".$ip."\r\n"; // IP DEL CLIENTE
$msg .="Nombre: ".$nombre."\r\n"; // Nombre
$msg .="Apellido: ".$apellido."\r\n"; // Nombre
mail($destino, $asunto, $msg, $headers);
|
:F help? _________________
GameServers & WebHosting Provider |
|
| Volver arriba |
|
 |
BenJa - KuMo Yo soy el foro


Registrado: 14 Ago 2006
Mensajes: 3489
Ubicación: España
|
|
| Volver arriba |
|
 |
xtremer Yo soy el foro

Registrado: 22 Dic 2006
Mensajes: 1113
|
Publicado: Lun Feb 08, 2010 6:59 pm Título del mensaje: |
|
|
La funcion mail anda correctamente, lo unico que digo es que no me envia el dato de "IP", los demas datos los envia, el campo IP lo recibo como vacio _________________
GameServers & WebHosting Provider |
|
| Volver arriba |
|
 |
Dragon-Black Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.
|
Publicado: Lun Feb 08, 2010 7:08 pm Título del mensaje: |
|
|
has probado imprimiendo la variable en pantalla y luego enviarla ¿? echo $ip; _________________ Cuando bebas agua, recuerda la fuente
http://Blog.onZeroPK.es
Folow me on Twitter
Joder, It's My life !!!! |
|
| Volver arriba |
|
 |
xtremer Yo soy el foro

Registrado: 22 Dic 2006
Mensajes: 1113
|
Publicado: Lun Feb 08, 2010 8:38 pm Título del mensaje: |
|
|
jeje si pero nu qeria q se viera :F
y esta es la idea funcando :F
<input type="hidden" name="ip" value="<?$ip=getIP()?>">
se les ocurre alguna forma dif. q no me lo imprima asi como asi en el codigo de fuente? _________________
GameServers & WebHosting Provider |
|
| Volver arriba |
|
 |
Dragon-Black Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.
|
Publicado: Lun Feb 08, 2010 11:17 pm Título del mensaje: |
|
|
No me refería a que lo imprimieras, si no a que tu funcion, funcionara ok, donde lo estas probando.. _________________ Cuando bebas agua, recuerda la fuente
http://Blog.onZeroPK.es
Folow me on Twitter
Joder, It's My life !!!! |
|
| Volver arriba |
|
 |
xtremer Yo soy el foro

Registrado: 22 Dic 2006
Mensajes: 1113
|
Publicado: Mar Feb 09, 2010 3:55 am Título del mensaje: |
|
|
Ah :F
No entendi entonces xD
Como puedo hacer para guardar esa ip sin que se vea en el codigo de fuente? _________________
GameServers & WebHosting Provider |
|
| Volver arriba |
|
 |
Dragon-Black Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.
|
Publicado: Mar Feb 09, 2010 4:45 am Título del mensaje: |
|
|
Hasle hecho al mensaje antes de pasarle al mail(), solo por testear, y fijate si la IP aparece en el hecho _________________ Cuando bebas agua, recuerda la fuente
http://Blog.onZeroPK.es
Folow me on Twitter
Joder, It's My life !!!! |
|
| Volver arriba |
|
 |
|
|
|