Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2003, 20:33
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues si, tienes toda la razón Tukzone .. No sólo que no coinciden las variables de servidor HTTP_REFERER y el SERVER_NAME, sinó que algunos proxys/firewalls ni te entregan el HTTP_REFERER ..

(así lo estoy sufriendo yo en mi scripcito "Autentificator" .. pues una parte de la validación la baso en ese dato .. sólo como "optimización" .. para náda es "crítico" e incluso me estoy planteando elminar dicha "comprobación" usando el HTTP_REFERER por la cantidad de problemas que trae ..)

Existe una variable de servidor con la cual podrías obtener la "IP" real .. Pero, depende del proxy/firewall .. podrás obtenera o no. Me refiero a:

HTTP_X_FORWARDED_FOR y HTTP_CLIENT_IP

Código PHP:
function getip() {
if (isset(
$_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' );
}
}
return 
$realip;
}

// ejemplo
echo getip(); 
Todo esto sería "empaparse" el protocolo HTTP ..pero como que no estoy para esos trotes yo xDD..

Pruebalo y nos comentas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 12/05/2003 a las 20:35