Foros del Web » Programando para Internet » PHP »

detectar ip del cliente

Estas en el tema de detectar ip del cliente en el foro de PHP en Foros del Web. quisiera saber como puedo detectar la direccion IP del cliente y bloquearla para que no pueda entrar a mi página,es decir,para bloquear a todos los ...
  #1 (permalink)  
Antiguo 24/02/2005, 09:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 4
Antigüedad: 12 años, 9 meses
Puntos: 0
detectar ip del cliente

quisiera saber como puedo detectar la direccion IP del cliente y bloquearla para que no pueda entrar a mi página,es decir,para bloquear a todos los usuarios que ingresen de esa ip y no mostrarles el contenido de la pagina,espero que me hayan entendido,gracias.
  #2 (permalink)  
Antiguo 24/02/2005, 10:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La IP puedes obtenerla con la variable de servidor REMOTE_ADDR (no es la real .. pero si la del proxy que pasen .. Busca por ese termino en el foro .. veras más alternativas mejores para obtener dicha IP):

$_SERVER['REMOTE_ADDR']

Ese dato .. te lo llevas a tu BD o donde quieras gestionarlo ... El resto es comparar tipo

Código PHP:
if ($_SERVER['REMOTE_ADDR'] == $ip_almacenada){
die(
"No puedes entrar .. estas banneado xDD");
}

// resto de tu script .. 
Podrías tener una simple array si son pocas IP's para bloquear .. y así usar la función in_array() para hacer el "if()" (condicional).

Un saludo,
  #3 (permalink)  
Antiguo 24/02/2005, 10:56
 
Fecha de Ingreso: septiembre-2003
Ubicación: Madrid
Mensajes: 53
Antigüedad: 14 años, 3 meses
Puntos: 1
Codigo mas avanzado

Hola que tal.

Si quieres conseguir la ip real puedes probar con este, es sencillito, hay otros más si este no te gusta.

Código PHP:
<?PHP
if (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) 
  { 
    
$nip $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; 
    
$array split(", "$nip); 
    
$IP $array[0]; 
    
$host = @gethostbyaddr($IP); 
    
$IP $nip;
  } 
  else 
  { 
    
$IP $HTTP_SERVER_VARS["REMOTE_ADDR"]; 
    
$host = @gethostbyaddr($IP); 
   
  } 
echo 
$IP;
?>

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:20.