Califica tu experiencia

Uso del encabezado X-Forwarded-For (XFF)

Modificado el: Mon, 15 Apr, 2024

Ir a:

¿Qué es el encabezado X-Forwarded-For?

¿Cuándo se utiliza el encabezado X-Forwarded-For?

¿Por qué no se transmite la IP original del usuario al utilizar Ezoic?

Ejemplo de X-Forwarded-For

¿Cómo añadir el encabezado X-Forwarded-For (XFF) en .PHP y .NET?

¿Cómo añadir el encabezado X-Forwarded-For (XFF) en WordPress?

¿Dónde añadir el código X-Forwarded-For en el archivo wp-config.php?

¿Algo más?



¿Qué es el encabezado X-Forwarded-For?

El encabezado X-Forwarded-For (XFF) identifica la dirección IP de origen de un usuario en los registros de acceso al servidor, a través de un proxy HTTP o un equilibrador de carga.

¿Cuándo se utiliza el encabezado X-Forwarded-For?


Muchas aplicaciones web utilizan la dirección IP de origen del usuario. Un ejemplo de cuándo se necesitaría el encabezado X-Forwarded-For podría ser si un sitio identifica a los usuarios por su dirección IP cuando se registran en un área de miembros. En este caso, es necesario pasar la IP de origen.

¿Por qué no se transmite la IP original del usuario al utilizar Ezoic?


Al utilizar la plataforma de Ezoic, las solicitudes de los visitantes de su sitio web se enrutarán a través de los servidores en la nube de Amazon (AWS) de Ezoic. Por lo tanto, sus registros de acceso mostrarán las direcciones IP de Ezoic en lugar de la dirección IP original del usuario.


Ocasionalmente, su compañía de hosting malinterpreta las peticiones que van a través de Ezoic como un ataque de bots, porque todas las peticiones vienen de una sola o unas pocas IPs en lugar de una gran variedad.


Los errores que puede ver en relación con este problema incluyen errores de origen, errores 520 o el Robot Captcha de su host.


Este problema puede solucionarse utilizando el encabezado XFF.


Al implementar el encabezado XFF, Ezoic enviará la dirección IP del visitante original a su servidor en el encabezado X-Forwarded-For.

Ejemplo de X-Forwarded-For


  • En PHP está disponible en: $_SERVER['HTTP_X_FORWARDED_FOR']
  • En .NET está disponible en: HttpContext.Current.Request.Headers["X-Forwarded-For"]


¿Cómo añadir el encabezado X-Forwarded-For (XFF) en .PHP y .NET?


  1. Vale la pena crear una copia de seguridad de su sitio. Puede utilizar herramientas como PHPmyadmin para hacerlo.
  2. A continuación, debe poner el código XFF en un archivo al que accedan todas sus páginas (por ejemplo, header.php, init.php o config.php)
  3. En su archivo header.php, init.php o config.php, ya debería ver $_SERVER['REMOTE_ADDR'] que puede sustituir por $_SERVER['HTTP_X_FORWARDED_FOR']


¿Cómo añadir el encabezado X-Forwarded-For (XFF) en WordPress?


Para los sitios de Wordpress este proceso es un poco diferente.

Para implementar el XFF para sitios de WordPress, solo tiene que copiar y pegar el siguiente código en su archivo wp-config.php:


// Use X-Forwarded-For HTTP Header to Get Visitor's Real IP Address

if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {

$http_x_headers = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );

$_SERVER['REMOTE_ADDR'] = $http_x_headers[0];

}


¿Dónde añadir el código X-Forwarded-For en el archivo wp-config.php?


Esto variará dependiendo de su tema. Si no está seguro, póngase en contacto con los propietarios de su tema.


Como alternativa, el plugin Proxy Real IP Wordpress puede añadir el código por usted:

https://wordpress.org/plugins/proxy-real-ip/

*Tenga en cuenta que depende de cómo esté configurado el servidor de origen para que este plugin sea efectivo. Tenemos algunos editores para los que esto ha sido efectivo, y otros que han necesitado tomar medidas alternativas para solucionar el bloqueo de las peticiones. Puede leer más sobre ellos aquí.


¿Algo más?


¡Sí! Por favor, informe a su host cuando haya implementado un encabezado X-Forwarded-For. Ellos tendrán que realizar una configuración adicional en su extremo para permitir que las solicitudes pasen como se espera.



Loading ...