in

Los encabezados http de php siempre devuelven 3.82.21.84 en wordpress

Necesito imprimir una ciudad de usuario en la página web según la dirección IP del usuario. Intenté leer la dirección IP de $_SERVER['REMOTE_ADDR'] pero no importa cual sea la IP siempre devuelve lo mismo 3.82.21.84 dirección. El sitio donde lo estoy usando es un sitio de WordPress, así que creo que hay algún complemento o error interno de WordPress. Utilicé la siguiente función para imprimir IP en un sitio codificado PHP personalizado y funciona perfectamente, pero cuando la misma función que pegué en wordpress bloqueó el Panel de administración. A continuación se muestra la función:

function getUserIP()
{
    // Get real visitor IP behind CloudFlare network
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
              $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
              $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }

    return $ip;
}


$user_ip = getUserIP();
$details = json_decode(file_get_contents("http://ipinfo.io/{$user_ip}/json"));
echo "<b style="color:black !important;">$user_ip</b>"; 

El código anterior funciona para mi otro sitio web personalizado, pero cuando lo uso en WordPress, el sitio falla y dice «Error crítico». Así que usé $_SERVER['REMOTE_ADDR'] para obtener IP en el sitio y siempre es ‘3.82.21.84’. Cualquier sugerencia será muy bien recibida.

0

¿Te ayudó la respuesta?

Subscribirse
Notificar por
guest
0 Comentarios
Inline Feedbacks
Ver todas las Respuestas

¿Cómo se puede crear una billetera individual para cada usuario?

Razonamiento detrás de despreciar la concentración de H+ al escribir la ecuación de balance de carga bajo el supuesto de una concentración baja de hidróxido inicialmente