172.16.33.197, 127.0.0.1 direcciones IP en los registros de visitantes

4

Tengo un sitio web que ejecuta Apache y PHP. Veo que hay visitantes con direcciones IP 172.16.33.197 y 127.0.0.1. Estas direcciones no pertenecen a nuestra red. Obtengo las direcciones IP de los visitantes con el siguiente fragmento de código.

function GetUserIP() {

    if (isset($_SERVER)) {

        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
            return $_SERVER["HTTP_X_FORWARDED_FOR"];

        if (isset($_SERVER["HTTP_CLIENT_IP"]))
            return $_SERVER["HTTP_CLIENT_IP"];

        return $_SERVER["REMOTE_ADDR"];
    }

    if (getenv('HTTP_X_FORWARDED_FOR'))
        return getenv('HTTP_X_FORWARDED_FOR');

    if (getenv('HTTP_CLIENT_IP'))
        return getenv('HTTP_CLIENT_IP');

    return getenv('REMOTE_ADDR');
}

¿Por qué puedo ver que esta dirección IP visita mi sitio web? ¿Esto indica una violación de seguridad o un problema con mi código?

    
pregunta nsumer 22.10.2012 - 18:12
fuente

1 respuesta

8

Sí. Si el usuario altera el encabezado HTTP_X_FORWARDED_FOR, o cualquiera de los encabezados proporcionados por el usuario que está verificando con ese código, pueden falsificar la IP de origen. Ignore esos encabezados y solo use el valor REMOTE_ADDR.

    
respondido por el Polynomial 22.10.2012 - 18:31
fuente

Lea otras preguntas en las etiquetas