Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/10/2010, 08:33
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Obtener la IP real del visitante, esta es la mejor forma?

En realidad, obtener la ip real del visitante, tiene sus fallos. Hay servidores que sirven como proxy y algunos de ellos reportan el IP que tenía anteriormente y otros no. Por lo que verificar el ip, solo es cuestión de usar algún código sencillo como por ejemplo
Código PHP:
Ver original
  1. <?php
  2.     function get_real_ip()
  3.     {
  4.  
  5.         if (isset($_SERVER["HTTP_CLIENT_IP"]))
  6.         {
  7.             return $_SERVER["HTTP_CLIENT_IP"];
  8.         }
  9.         elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
  10.         {
  11.             return $_SERVER["HTTP_X_FORWARDED_FOR"];
  12.         }
  13.         elseif (isset($_SERVER["HTTP_X_FORWARDED"]))
  14.         {
  15.             return $_SERVER["HTTP_X_FORWARDED"];
  16.         }
  17.         elseif (isset($_SERVER["HTTP_FORWARDED_FOR"]))
  18.         {
  19.             return $_SERVER["HTTP_FORWARDED_FOR"];
  20.         }
  21.         elseif (isset($_SERVER["HTTP_FORWARDED"]))
  22.         {
  23.             return $_SERVER["HTTP_FORWARDED"];
  24.         }
  25.         else
  26.         {
  27.             return $_SERVER["REMOTE_ADDR"];
  28.         }
  29.  
  30.     }
  31.     echo get_real_ip();
El código es tomado de http://www.vision.to/get-a-real-ip-vs-proxy.php
Si deseas usar el tuyo, también lo puedes hacer. Pero debes saber que no necesariamente vas a obtener la IP real del cliente, por lo que te indiqué. Y leyendo un tema por ahí, indican que no uses HTTP_X_FORWARDED_FOR porque una persona puede hacer un "spoofed", engañando al sistema y por lo tanto entrar como si fuera por ejemplo el servidor tuyo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos