¿Es posible obtener Network Domain desde el cliente con PHP o Apache? [cerrado]

0

Estoy trabajando en una solución para identificar el dominio de red del cliente o el grupo de trabajo en una red privada. Sobre esta base, debo cambiar algunos permisos de acceso.

No puedo hacerlo a través de la dirección IP porque no es confiable, solo dominio / grupo de trabajo de la red.

Por razones que desconozco, no puedo tener una pantalla de inicio de sesión, el acceso debe ser automático y sin problemas.

Alguien sabe cómo puedo hacerlo?

    
pregunta LeonanCarvalho 10.07.2015 - 16:56
fuente

3 respuestas

-1

Es posible obtener el correspondiente a una dirección IP dada utilizando la función gethostbyaddr enlace :

    $proxy = (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : false;

if(!!$proxy){
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
     echo "Warning: Your cliend is using proxy, may could not determine hostname";
    }else{
    $ipaddress = $_SERVER['REMOTE_ADDR']; //
    }
    $hostname = gethostbyaddr($ipaddress); //Its will return domain + machine-name inside a private network.

    if($ipaddress  == $hostname){
     echo "Impossible to determine hostname for: ", $ipaddress ;
    }else{
      echo "The hostname for ", $ipaddress, "is : ",  $hostname;
    }

Pero la comunicación utilizando la capa de aplicación / sesión a la capa de red es un poco complicada. No debes confiar en él para acceder al control en las aplicaciones php.

    
respondido por el LeonanCarvalho 10.07.2015 - 17:38
fuente
1

En realidad no. Puede recuperar directamente cierta información del agente y la dirección IP / nombre de host local, pero no su grupo de trabajo / estado de dominio.

Dicho esto, puede obtener el nombre de host y consultar Active Directory a través de WMI para ver si se trata de una computadora de dominio, pero nunca puede probar la validez del nombre de host.

Otra opción es que puede autenticar a un usuario contra Active Directory / LDAP. Podría tener una página de inicio de sesión que, cuando se autentiquen en Active Directory (demostrando que son usuarios de un dominio), les permita iniciar sesión.

También eche un vistazo a Autenticación en PHP usando LDAP a través de Active Directory .

    
respondido por el James 10.07.2015 - 17:39
fuente
1

Tipo de.

Puede crear una página de destino que enumere todas las direcciones IP de clientes usando WebRTC y cargar otra dirección.

Puede usar gethostbyaddr() en cada IP devuelta, y obtendrá un poco de user198.domain-a.company.xxx . Solo establece una variable de sesión, y ya estás establecido.

    
respondido por el ThoriumBR 10.07.2015 - 19:53
fuente

Lea otras preguntas en las etiquetas