08/08/2014, 13:57
|
| | Fecha de Ingreso: mayo-2012
Mensajes: 3
Antigüedad: 12 años, 6 meses Puntos: 0 | |
IP del visitante no se envia con REMOTE_ADDR buenas
Tengo un script que recoge los datos de un formulario y me envía un email , además adjunta la IP del mismo con fines de control.
Tuve que cambiar de hosting, y en el nuevo hosting en lugar de enviarme la ip del visitante, me envía la ip del servidor. Las vesiones del PHP son 5.5 en ambos hosting.
En el viejo hosting usaba simplemente $_SERVER['REMOTE_ADDR'], pero ahora uso otra funcion encontrada en la web, pero tampoco anda.
Sospecho que puede ser una configuración del PHP del nuevo hosting.
Gracias.
La rutina resumida es:
<?php
function getRealIpAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
if (!$HTTP_POST_VARS){
echo "no se encuentran las variables...!";
} else {
// $ipvisitante = $_SERVER['REMOTE_ADDR'] ; //USADO ANTES
$ipvisitante = getRealIpAddr() ;
echo "REMOTE_ADDR <p>" . $ipvisitante . "</p>";
// obtener los campos del formulario y generar cabeceras;
mail($destino, "Consulta generada desde ".$webcliente. "\n", $mensaje, $cabeceras);
echo "<p>Mail enviado</p>";
}
?> |