Foros del Web » Programando para Internet » PHP »

Login en web sólo desde un equipo

Estas en el tema de Login en web sólo desde un equipo en el foro de PHP en Foros del Web. Hola, me gustaría saber si existe alguna forma para hacer que un usuario solamente pueda loguearse en una web desde el equipo en el que ...
  #1 (permalink)  
Antiguo 19/07/2012, 06:12
 
Fecha de Ingreso: julio-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Login en web sólo desde un equipo

Hola, me gustaría saber si existe alguna forma para hacer que un usuario solamente pueda loguearse en una web desde el equipo en el que hizo login la primera vez.
Pensé en almacenar la ip ($_SERVER['REMOTE_ADDR']) pero esta suele cambiar. Por otro lado, tengo entendido que no se tiene acceso a la dirección mac.

Agradezco cualquier ayuda
  #2 (permalink)  
Antiguo 19/07/2012, 06:30
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Mensaje Respuesta: Login en web sólo desde un equipo

A simple vista se me ocurre una opción:

utiliza el comando shell_exec para ejectuar comandos en la máquina.

Cita:
Código PHP:
Ver original
  1. //Verificamos el sistema operativo del cliente
  2. if(strpos(strtoupper($_SERVER['HTTP_USER_AGENT']),"WINDOWS")!==false)
  3. {
  4.   //Si es windows
  5.   $output = shell_exec('ipconfig -all');
  6.   echo "<pre>$output</pre>";
  7. }
  8. elseif("si es linux")
  9. {
  10.  
  11. }
  12. elseif("si es MACOS")
  13. {
  14.  
  15. }
  16. ...
de ahí puedes obtener la MAC Address

Saludos
  #3 (permalink)  
Antiguo 19/07/2012, 06:44
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Login en web sólo desde un equipo

Puedes guardar una cookie con una fecha de expiracion alta con una cadena aleatoria, y al hacer login compruebas que esa cadena aleatoria pertenece a ese usuario, el único problema es que si el usuario borra las cookies no podrá volver a entrar
  #4 (permalink)  
Antiguo 19/07/2012, 09:17
 
Fecha de Ingreso: julio-2012
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Login en web sólo desde un equipo

Muchas gracias a los dos. Almacenando una cookie se podría hacer, pero no puedo arriesgarme a que el usuario las borre y no pueda volver a entrar.

La solución de sgomez me funciona cuando pruebo en un servidor local, pero cuando lo subo a un servidor remoto, shell_exec no hace nada. ¿Tendré que configurar algo en el servidor o por cuestiones de seguridad no se podrá acceder a la información que devuelve ifconfig?
  #5 (permalink)  
Antiguo 19/07/2012, 09:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Login en web sólo desde un equipo

@sgomez: eso te da el MAC del servidor, no del cliente, la alternativa más viable es la cookie, aún así el usuario la borre.

otra alternativa es utilizar un certificado SSL propio (puede ser gratis), lo instalas en dicho navegador y configuras apache para que no permita la descarga del certificado, es algo complicado, pero aún no evita que el usuario instale el certificado en otro equipo.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 24/07/2012, 07:02
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Login en web sólo desde un equipo

Cierto, estaba pensando en otras cosas! gracias por la corrección!

un saludo

Etiquetas: control, login, seguridad
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 13:36.