En un servidor web normal, WordPress no tiene problemas para mostrar la dirección IP correcta de los visitantes de su sitio, comentaristas, etc. Sin embargo, en algunos servidores, su sitio de WordPress puede no mostrar la dirección IP correcta en el panel de comentarios y en otros lugares.
En su lugar, WordPress muestra la dirección IP del host local 127.0.0.1.
Según el software que haya instalado en su servidor y cómo esté configurado, es posible que la dirección IP del cliente no se reenvíe correctamente. Desafortunadamente, WordPress no tiene una opción integrada para reenviar la dirección IP del cliente. Aquí se explica cómo corregir una dirección IP incorrecta en los comentarios de WordPress.
Arreglar una dirección IP incorrecta en WordPress
Nota: antes de editar cualquier archivo en WordPress, cree una buena copia de seguridad de ese archivo. La copia de seguridad lo ayuda a restaurar el archivo en caso de contratiempos.
La forma más fácil de resolver este problema es agregar un fragmento de código simple al archivo «wp-config.php». Para hacerlo, abra su cliente FTP, inicie sesión en la cuenta FTP de su sitio web y abra el archivo wp-config.php.
Una vez que se haya abierto el archivo, copie el fragmento de código a continuación y péguelo en la parte inferior del archivo. A continuación, guarde el archivo y vuelva a cargarlo.
// Code for showing correct client IP address if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $mte_xffaddrs = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ); $_SERVER['REMOTE_ADDR'] = $mte_xffaddrs[0]; }
Eso es todo, debería ver la dirección IP real del cliente en la página de comentarios de WordPress y en otros lugares.
¿Qué está pasando con ese fragmento de código?
Cuando su sitio web de WordPress está detrás de un proxy HTTP o usa un balanceador de carga, se usa un encabezado HTTP llamado «X-Forwarded-For» para almacenar todas las direcciones IP, incluida la dirección IP real del cliente en la cadena.
De manera predeterminada, las direcciones IP en el encabezado HTTP «X-Forwarded-For» están separadas por comas y la primera dirección IP en la cadena es siempre la dirección IP del cliente.
Lo que estamos haciendo con el fragmento de código anterior es tomar todas esas direcciones IP, dividirlas en partes individuales y almacenarlas en el $mte_xffaddrs
formación. Dado que la primera dirección IP está relacionada con el cliente, podemos usar el índice cero y apuntarlo a REMOTE_ADDR dentro de la matriz $_SERVER.
Arreglar la dirección IP incorrecta en WordPress usando el complemento
Si no quiere meterse con los archivos principales de WordPress, puede usar un complemento llamado Proxy IP real. Aunque el complemento no se ha actualizado en mucho tiempo, todavía funciona. El complemento básicamente hace lo mismo que el código anterior. Sin embargo, el complemento utiliza el preg_match
función en lugar de la explode
función.
Simplemente instale y active el complemento como cualquier otro. No hay una página de configuración u opciones para configurar.
Arreglar IP incorrecta al usar Cloudflare
Cuando está detrás de un proxy como Cloudflare, WordPress a veces puede mostrar la IP de Cloudflare en lugar de la IP del cliente real o incluso la IP del host local.
También hay una solución fácil para este problema. Simplemente pegue el siguiente código en la parte inferior del archivo wp-config.php.
// Fix incorrect IP when using Cloudflare if ( array_key_exists( 'HTTP_CF_CONNECTING_IP', $_SERVER ) ) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; }
Con el código anterior, tomamos la IP del cliente real mediante HTTP_CF_CONNECTING_IP y apuntamos REMOTE_ADDR a esa dirección IP.
Comente a continuación compartiendo sus pensamientos y experiencias sobre el uso de los métodos anteriores para corregir una dirección IP incorrecta en los comentarios de WordPress.