DETECTAR EL IP DE UN DOMINIO Y OTROS DATOS DEL CLIENTE
La función
gethostbyaddr($dominio);
devuelve el ip asociado a
$dominio,o false si falla o el dominio no existe.
Las variables de servidor $_SERVER[''] siguientes son útiles:
- 'REMOTE_ADDR' da la IP del servidor remoto
- 'HTTP_X_FORWARDED_FOR' da la IP del servidor proxi (si existe)
- 'HTTP_CLIENT_IP' da la IP del cliente (si es distinto de REMOTE_ADDR)
- 'HTTP_USER_AGENT' da un string con info sobre el explorador usado
- 'REMOTE_PORT' da el puerto usado por el cliente
- 'SERVER_PORT' da el puerto usado por el servidor
<head>
<?php
if(isset($_GET['accion'])){ //vuelvo de ejecutar
$dom= $_POST["dominio"];
}else{
$dom= "";
}
if($_POST) {
$resultado= gethostbyaddr($_POST["dominio"]);
}
?>
</head>
<body>
<div class="salida">
<?php
echo"<div>EL IP DEL SERVIDOR CONECTADO ES: <strong>" . $_SERVER['REMOTE_ADDR'] ."</strong></div>";
if (empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
echo"<div>EL IP DEL PROXI CONECTADO ES: <strong>No hay servidor proxi</strong></div>";
} else {
echo"<div>EL IP DEL PROXI CONECTADO ES: <strong>" . $_SERVER['HTTP_X_FORWARDED_FOR'] ."</strong></div>";
}
if (empty($_SERVER['HTTP_CLIENT_IP'])) {
echo"<div>EL IP ASIGNADO A ESTE DISPOSITIVO ES: <strong>" . $_SERVER['REMOTE_ADDR'] ."</strong></div>";
} else {
echo"<div>EL IP ASIGNADO A ESTE DISPOSITIVO ES: <strong>" . $_SERVER['HTTP_CLIENT_IP'] ."</strong></div>";
}
echo"<div>EL EXPLORADOR USADO ES: <strong>" . $_SERVER['HTTP_USER_AGENT'] ."</strong></div>";
echo"<div>EL PUERTO LOCAL USADO ES: <strong>" . $_SERVER['REMOTE_PORT'] ."</strong></div>";
echo"<div>EL PUERTO DEL SERVER USADO ES: <strong>" . $_SERVER['SERVER_PORT'] ."</strong></div>";
?>
</div>
<div style="margin: 0 auto; padding-top:20px; padding-left:20px; background-color:#FFF;">
<form method="post" action="<?php echo htmlspecialchars($_SERVER['SCRIPT_NAME'])."?accion=ejecutar";?>">
<div>Escriba el IP (nnn.nnn.nnn.nnn)-> dominio</div>
<div class="item"><input name="dominio" type="text" id="dominio" value="" /></div>
<div class="item"><input type="Submit" name="Submit" value="EJECUTAR CONSULTA" /></div>
</form>
</div>
<div class="salida">
<?php
if($_POST) {
if($resultado[0]==''){
echo "El dominio no existe o produce un error";
}else{
echo"<div>EL DOMINIO ASOCIADO A " . $_POST["dominio"] . ":<strong> ".$resultado."</strong></div>";
}
}
?>
</body>