Foros del Web » Programando para Internet » PHP »

Identificar ip con php

Estas en el tema de Identificar ip con php en el foro de PHP en Foros del Web. Hola que tal... he encontrado este escript que hace un scanner de unos puertos a partir de un archivo de texto, el problema es que ...
  #1 (permalink)  
Antiguo 19/08/2007, 04:23
Avatar de antonio3407  
Fecha de Ingreso: noviembre-2004
Ubicación: Castellón de la Plana, Spain
Mensajes: 126
Antigüedad: 19 años, 4 meses
Puntos: 11
Identificar ip con php

Hola que tal...
he encontrado este escript que hace un scanner de unos puertos a partir de un archivo de texto, el problema es que hay que indicarle la ip a la que debe escanear los puertos, al escribir la dirección, de este modo: scan.php?ip=laip

Quisiera que me ayudaseis a añadir el código necesario para que el script identificase automaticamente la ip del visitante al ejecutar el script.
Gracias.
Código PHP:
<?php

# Pongo el time limit en 0 para que no se acabe el script por time limit.
set_time_limit(0);

# Cojo los puertos de puertos.txt y los meto en un array
$db file('puertos.txt');
foreach (
$db as $a=>$b) {
    
$puerto explode(" ",$b);
    
$desc str_replace($puerto[0]." ","",$b); 
    
$ports[$puerto[0]] = $desc;
}

# Verifico que la ip sean numeros
if(is_numeric(str_replace(".","",$_GET['ip']))) {
    
# Con este foreach verifico todos los puertos
    
foreach($ports as $a=>$b) {
        
# Si conecto pongo que conecto
        
if(conecta($a)) {
            
pon($a,$b,"./images/on.gif");
        }
        
# Si no conecto pongo que no conecto
        
else {
            
pon($a,$b,"./images/off.gif");
        }
    }
}
else { die(
"La ip debe contener solamente numeros."); }

# Función que me dice si el puerto esta abierto o no
function conecta ($port) {
    
$conexion = @fsockopen($_GET['ip'],$port,$errno,$errstr,5);
    @
fclose($conexion);
    if(
$conexion) return 1;
    else return 
0;
}

# Función que pone si el puerto esta abierto o no.
function pon ($port,$desc,$img) {
    echo
"<tr style=\"font: 9px Tahoma;\">\n";
    echo
"    <td width=\"15%\" style=\"text-align: center;\"><img src=\"".$img."\"></td>\n";
    echo
"    <td width=\"25%\" style=\"text-align: center;\">".$port."</td>\n";
    echo
"    <td width=\"60%\" style=\"text-align: center;\">".$desc."</td>\n";
    echo
"</tr>\n";
}

?>
  #2 (permalink)  
Antiguo 19/08/2007, 04:40
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Identificar ip con php

Con las variables globales puedes obtener la información que pides.
$_SERVER['REMOTE_ADDR'] te devuelve la ip del usuario. Por cierto has de tener las variables globales activadas.
  #3 (permalink)  
Antiguo 19/08/2007, 14:31
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Re: Identificar ip con php

Código PHP:
<?php

# Pongo el time limit en 0 para que no se acabe el script por time limit.
set_time_limit(0);

# Cojo los puertos de puertos.txt y los meto en un array
$db file('puertos.txt');
foreach (
$db as $a=>$b) {
    
$puerto explode(" ",$b);
    
$desc str_replace($puerto[0]." ","",$b); 
    
$ports[$puerto[0]] = $desc;
}

# Verifico que la ip sean numeros
if(is_numeric(str_replace(".","",$_SERVER['REMOTE_ADDR']))) {
    
# Con este foreach verifico todos los puertos
    
foreach($ports as $a=>$b) {
        
# Si conecto pongo que conecto
        
if(conecta($a)) {
            
pon($a,$b,"./images/on.gif");
        }
        
# Si no conecto pongo que no conecto
        
else {
            
pon($a,$b,"./images/off.gif");
        }
    }
}
else { die(
"La ip debe contener solamente numeros."); }

# Función que me dice si el puerto esta abierto o no
function conecta ($port) {
    
$conexion = @fsockopen($_SERVER['REMOTE_ADDR'],$port,$errno,$errstr,5);
    @
fclose($conexion);
    if(
$conexion) return 1;
    else return 
0;
}

# Función que pone si el puerto esta abierto o no.
function pon ($port,$desc,$img) {
    echo
"<tr style=\"font: 9px Tahoma;\">\n";
    echo
"    <td width=\"15%\" style=\"text-align: center;\"><img src=\"".$img."\"></td>\n";
    echo
"    <td width=\"25%\" style=\"text-align: center;\">".$port."</td>\n";
    echo
"    <td width=\"60%\" style=\"text-align: center;\">".$desc."</td>\n";
    echo
"</tr>\n";
}
?>
Saludos
__________________
Hospedaje Web al mejor costo!
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 00:37.