Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/09/2010, 15:57
helacer
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Bloquear Ip a tantas entradas Help me please XD

Helper n ose asuste que nos es nada complicado..

Creo que mi solucion es mas facil que usando sesiones teniendo en cuenta que usted tiene pocos conocimientos del tema,

Haga partecita por partecita y le vamos ayudando a corregir o solucionar dudas, intentelo y vera que no necesita ser el duro en PHP para lograr lo que quiere hacer... y de paso aprende

En eslomas.com encotnre esta funciona que obtiene la Ip real, no la e probado pero debe funcionar.... Hay le adelanto trabajo

Código PHP:
function getRealIP()
{

   if( 
$_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
   {
      
$client_ip =
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
            
$_SERVER['REMOTE_ADDR']
            :
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
               
$_ENV['REMOTE_ADDR']
               :
               
"unknown" );

      
// los proxys van añadiendo al final de esta cabecera
      // las direcciones ip que van "ocultando". Para localizar la ip real
      // del usuario se comienza a mirar por el principio hasta encontrar
      // una dirección ip que no sea del rango privado. En caso de no
      // encontrarse ninguna se toma como valor el REMOTE_ADDR

      
$entries split('[, ]'$_SERVER['HTTP_X_FORWARDED_FOR']);

      
reset($entries);
      while (list(, 
$entry) = each($entries))
      {
         
$entry trim($entry);
         if ( 
preg_match("/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/"$entry$ip_list) )
         {
            
// http://www.faqs.org/rfcs/rfc1918.html
            
$private_ip = array(
                  
'/^0\\./',
                  
'/^127\\.0\\.0\\.1/',
                  
'/^192\\.168\\..*/',
                  
'/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/',
                  
'/^10\\..*/');

            
$found_ip preg_replace($private_ip$client_ip$ip_list[1]);

            if (
$client_ip != $found_ip)
            {
               
$client_ip $found_ip;
               break;
            }
         }
      }
   }
   else
   {
      
$client_ip =
         ( !empty(
$_SERVER['REMOTE_ADDR']) ) ?
            
$_SERVER['REMOTE_ADDR']
            :
            ( ( !empty(
$_ENV['REMOTE_ADDR']) ) ?
               
$_ENV['REMOTE_ADDR']
               :
               
"unknown" );
   }

   return 
$client_ip;

}
echo 
getRealIP();