Foros del Web » Programando para Internet » PHP »

Logueo unicamente desde unas PCs

Estas en el tema de Logueo unicamente desde unas PCs en el foro de PHP en Foros del Web. Tratare de explicarme. Necesito hacer una app web donde, los usuarios puedan loguearse (loguin/pass) pero solo desde su PC particular. Ejemplo: se pueden loguear desde ...
  #1 (permalink)  
Antiguo 12/05/2008, 08:11
 
Fecha de Ingreso: junio-2003
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 0
Logueo unicamente desde unas PCs

Tratare de explicarme.

Necesito hacer una app web donde, los usuarios puedan loguearse (loguin/pass) pero solo desde su PC particular.

Ejemplo: se pueden loguear desde la PC de su empresa, pero no desde su casa.

Estas PC no tiene IPs Fijas, por lo que no puedo fiarme de ellas, continuamente.

Que opciones tengo?????


Se me ocurre esto:

1) panel donde un responsable genere algun certificado en linea para "esa" PC, donde esta sea titular del certificado por decirlo de alguna forma.

2) un panel de login para que algun usuario de esa PC se loguee, y el servidor pueda reconocer el certificado que quedo instalado en esa PC y asi poder identificar esa PC en el futuro


Puedo desde el servidor? ayudar a esas PC a generar certificados?

La generacion de certficados debe hacerse si o si desde cada PC cliente.

Alguno puede brindarme ayuda de como encarar este problema..?

R
  #2 (permalink)  
Antiguo 12/05/2008, 08:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Logueo unicamente desde unas PCs

Hola robervcp,

Lamento decirte que con PHP solamente no podrás realizarlo, necesitas algún applet o control ActiveX que pueda leer los archivos locales del cliente, así con este podrás garantizar que es la PC original.

Saludos.
  #3 (permalink)  
Antiguo 12/05/2008, 09:09
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Re: Logueo unicamente desde unas PCs

En ves de captar la IP de la maquina tenes que captar la 'MAC Address'
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #4 (permalink)  
Antiguo 12/05/2008, 09:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Logueo unicamente desde unas PCs

Lamentablemente la MAC Address, también se puede cambiar muy fácilmente y solo esta disponible en una red LAN.

Saludos.
  #5 (permalink)  
Antiguo 12/05/2008, 09:29
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
para obtener MAC address:

Código HTML:
<!DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
      <head>
            <title></title>
            <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
            <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
            <script id="clientEventHandlersJS" language="javascript">
<!--
function Button1_onclick() {
      var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
      var service = locator.ConnectServer(".");
      var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
      var e = new Enumerator (properties);
      document.write("<table border=1>");
      dispHeading();
      for (;!e.atEnd();e.moveNext ())
      {
            var p = e.item ();
            document.write("<tr>");
            document.write("<td>" + p.Caption + "</td>");
            document.write("<td>" + p.IPFilterSecurityEnabled + "</td>");
            document.write("<td>" + p.IPPortSecurityEnabled + "</td>");
            document.write("<td>" + p.IPXAddress + "</td>");
            document.write("<td>" + p.IPXEnabled + "</td>");
            document.write("<td>" + p.IPXNetworkNumber + "</td>");
            document.write("<td>" + p.MACAddress + "</td>");
            document.write("<td>" + p.WINSPrimaryServer + "</td>");
            document.write("<td>" + p.WINSSecondaryServer + "</td>");
            document.write("</tr>");
      }
      document.write("</table>");
}

function dispHeading()
{
      document.write("<thead>");
      document.write("<td>Caption</td>");
      document.write("<td>IPFilterSecurityEnabled</td>");
      document.write("<td>IPPortSecurityEnabled</td>");
      document.write("<td>IPXAddress</td>");
      document.write("<td>IPXEnabled</td>");
      document.write("<td>IPXNetworkNumber</td>");
      document.write("<td>MACAddress</td>");
      document.write("<td>WINSPrimaryServer</td>");
      document.write("<td>WINSSecondaryServer</td>");
      document.write("</thead>");
}

//-->
            </script>
      </head>
      <body>
            <INPUT id="Button1" type="button" value="Button" name="Button1" language="javascript" onclick="return Button1_onclick()">
      </body>
</html> 

la idea mia era sacar la mac del lado del usuario y asi poderla anexar en un campo hidden de tal manera q' se puedea enviar por formulario usando el metodo POST y asi poder la capturar la mac en el lenguaje q' se quiera para mi caso PHP, igual podria funcionar para asp o .Net, la idea es capturarla para pasarla despues el servidor y asi poder hacer con ella lo q' uno quiera , por ejemplo para mi caso tenerla y compararla con las mac q' tengo en una base de datos y asi poder dar autorizacion al equipo.



aqui les envio el codigo modificado



pagina 1:


Código HTML:
<!DOCTYPE  HTML  PUBLIC  "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
      <head>
            <title></title>
            <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
            <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
            
<script id="clientEventHandlersJS" language="javascript">

function Button1_onclick() {
      var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
      var service = locator.ConnectServer(".");
      var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
      var e = new Enumerator (properties);
  
   for (;!e.atEnd();e.moveNext ())
      {
       ar p = e.item ();
           if(p.MACAddress==maco){ //solo se pasan las MAC, mas no los valores nulos
                 var maco1=p.MACAddress; //paso la MAC A UNA VARIABLE
                 document.f1.mac.value=maco1 //LA PASO UN CAMPO OCULTO PARA SU POSTUMO ENVIO
                 document.f1.button3.value=maco1 //Y AQUI LA PASO AUN CAMPO TEXTO
                break; //SOLO CAPTUROI UNA SOLA MAC DE LAS Q' EL SISTEMA ME PROVEE
          }
     }
}

            </script>
      </head>
      <body onLoad="return Button1_onclick()">
      <FORM NAME="f1" method = "POST" action="modulo11.php">
        <INPUT id="Button3" type="text" name="button3" >
        <br>
        <INPUT id="Button2" type="submit" value="Enviar" name="Button2">
        <input name='mac' type='hidden' value='0'>

        <BR>
       </form>
      </body>
</html>

 
pagina 2 de recepcion del dato: esto esta para php, pero igual podria funcionar para cualquier lenguaje



Código PHP:
<?php
$mac
=$_POST['mac'];
echo 
$mac;
echo 
"<br>";
echo 
"<br>";

 

?>
no existe un metodo 100% seguro para lo que vos queres hacer.. si es un usuario que entiende mucho de programacion va a violar la seguirdad, pero por lo menos te va a servir para el 99% de los usuarios...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)

Última edición por GatorV; 12/05/2008 a las 10:03
  #6 (permalink)  
Antiguo 12/05/2008, 10:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Logueo unicamente desde unas PCs

No creo para el 99%, ya que depende de que usen IE, y que tengan el control WbemScripting.SWbemLocator, que no viene por defecto instalado, a lo mucho te servirá para los que tengan el tiempo de instalar ese control, y que usen Windows.

Saludos.
  #7 (permalink)  
Antiguo 13/05/2008, 09:11
 
Fecha de Ingreso: junio-2003
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Logueo unicamente desde unas PCs

Asi es esto.
Tengo que solucionar esto para cualquier navegador y OS.

Y por el lado de los certificados?

como lo hace myopenid.com?

probaron la funcionalidad de generar un certificado para no tener que usar un password?

Parece buena

R
  #8 (permalink)  
Antiguo 13/05/2008, 09:19
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Logueo unicamente desde unas PCs

deberias tener una intranet?
__________________
http://www.rollermountain.com
  #9 (permalink)  
Antiguo 13/05/2008, 09:22
 
Fecha de Ingreso: octubre-2005
Mensajes: 95
Antigüedad: 18 años, 5 meses
Puntos: 1
no se puedee

la unica manera que se me ocurre es desconectando a un usuario....es decir....si estas conectado a una sesion, y otro usuario se conecta con tu nombre de usuario y contraseña, se tesconecte a ti y permita el acceso a la otra persona.
pero no es la idea.

Última edición por GatorV; 13/05/2008 a las 10:35
  #10 (permalink)  
Antiguo 13/05/2008, 10:24
Avatar de gust4vo  
Fecha de Ingreso: enero-2007
Ubicación: Paraguay
Mensajes: 11
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Logueo unicamente desde unas PCs

- Los clientes deben obligatoriamente tener ip fija para que se pueda aplicar.
- Puedes adquirir un Certificado Digital Personal para cada cliente pero podrian ser tranportables y ahi muere el negocio.

saludos
  #11 (permalink)  
Antiguo 13/05/2008, 10:53
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Re: Logueo unicamente desde unas PCs

jajajja.. mejor es un login de usuarios con cuenta ssl y listo para que se matan la cabeza.. y la clave sea generada y no se pueda cambiar.. ejemplo ert__71d85d2f1x15yt6 y el nombre de usuario el email y listo el pollo... esa es la forma mas segura que veo . por que las IP , Mac address se pueden cambiar ... protocolos etc.

en mi opinion no es viable limitar el uso de solo un par de Pcs. Sino los bancos tuvieran solo las Ip de las computadoras de cada cliente.. en realidad ni es seguro tener eso ni es viable en un futuro a corto plazo saludos...
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
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 06:52.