Foros del Web » Programando para Internet » PHP »

¿Como identificar un usuario?

Estas en el tema de ¿Como identificar un usuario? en el foro de PHP en Foros del Web. Estoy programando un juego (BARRIOS WAR v2.2) y quiero hacer algo para que los usuarios no puedan jugar con más de 1 cuenta en él, ...
  #1 (permalink)  
Antiguo 19/02/2008, 05:11
 
Fecha de Ingreso: julio-2003
Ubicación: bogota
Mensajes: 8
Antigüedad: 20 años, 9 meses
Puntos: 0
Exclamación ¿Como identificar un usuario?

Estoy programando un juego (BARRIOS WAR v2.2) y quiero hacer algo para que los usuarios no puedan jugar con más de 1 cuenta en él, y hagan trampas.



Había pensado en la posibilidad de enviar archivos, pero creo que no se puede, lo de saber la MACaddress también lo veo difícil, con los httprefers me lio un poco.

Si alguien tiene una idea al respecto plz.

La dirección del juego es:

http://217.127.190.188/newbw/

La versión anterior del mismo: www.wlan0.net.

Gracias
  #2 (permalink)  
Antiguo 19/02/2008, 05:20
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ¿Como identificar un usuario?

Buenas,

La verdad es que lo veo complicado ya que aunque el juego requiera de registro, siempre se podran registrar los mismos usuarios con diferentes nicks y cuentas de correo, por lo que no podrás efectuar una verificación de la identidad en este sentido.

Una solucion posible es registrar la dirección IP de los usuarios en el momento de conectarse o validar su usuario y/o registrarse, con el fin de contrastar la misma con alguna de las existentes en la bbdd de usuarios, si existe una coincidencia = tramposo. Ya que se ha conectado con una cta de usuario y ha intentado registrar una nueva con la misma direccion IP. Tampoco es una solución excesivamente valida, dado que pueden modificar su dirección IP o la misma puede ser dinámica.

Otra via sería mediante COOKIES. Crear una cookie sin "caducidad" con los datos del usuario. Al efectuar el registro o validacion del usuario, verificar que la cookie existe y que los datos coinciden, en caso contrario = trampas?!

Saludos
  #3 (permalink)  
Antiguo 19/02/2008, 05:34
Avatar de FBK
FBK
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: ¿Como identificar un usuario?

Hola esos sistemas ya los tengo integrados, pero aún y así es posible saltárselo ;)

Gracias
  #4 (permalink)  
Antiguo 19/02/2008, 06:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: ¿Como identificar un usuario?

Una misma red de area local comparte (normalmente) la misma ip publica de conexion a internet, asi que si se conectan desde una lan tendran la misma IP. Tambien puede ser que el mismo ordenador lo usen 2 personas diferentes.

Y las cookies son independientes por navegador, si tienes instalado IE y firefox y te conectas con ambos a la misma pagina no comparten cookies. Y ya le podemos añadir SO virtualizados, para que pueda tener mas instancias en el mismo ordenador.

La solucion mas sencilla: que tengan que pagar por la cuenta

Sinceramente, dudo mucho que puedas implementar un sistema 100% seguro. Creo que hasta los juegos online mas punteros pueden colarse usuarios con varias cuentas. La solucion es implementar algo que el 99% de los usuarios no sepan saltarse (los usuarios con nulos conocimientos tecnicos) y luego monitorear el juego para detectar posibles tramposos (y ahorcarle publicamente en la plaza del pueblo).
  #5 (permalink)  
Antiguo 19/02/2008, 06:44
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ¿Como identificar un usuario?

Ya tirando de los últimos cartuchos y saliendo por completo de PHP, si tu servidor soporta ASP, puedes mirar de emplear el código que muestran en el siguiente enlace:

http://www.eslomas.com/index.php/arc...te-con-aspnet/

Mediante el cual se puede capturar el nombre del equipo cliente.

Saludos
  #6 (permalink)  
Antiguo 19/02/2008, 08:36
 
Fecha de Ingreso: julio-2006
Mensajes: 50
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: ¿Como identificar un usuario?

Interesante duda, yo también tengo ese problema y he optado sólo por revisar los IP. Para no meter los cookies a cuento.

Una opción más larga sería hacer una lista de todos los IP que han ocupado los jugadores, y revisar si el IP del que se conecte o registre no está en los anteriores. Si lo está, queda como "dudoso", y en ese caso revisar si tienen la misma versión del navegador, PATH (que no sé que es pero me imagino que no todos tienen los mismo archivos) y algunas cosas que te parezcan interesantes en $_SERVER, revísalos haciendo un foreach sobre este vector.

Código PHP:
echo "<table>";
foreach(
$_SERVER as $que => $muestra) {
    echo 
"<tr><td>$que<td>$muestra";

  #7 (permalink)  
Antiguo 19/02/2008, 08:49
Avatar de FBK
FBK
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: ¿Como identificar un usuario?

Gracias a todos, voy a intentar con lo del asp y el nombre de la máquina a ver si rula.

Os comento lo que yo tengo ahora:

1) Cuando se registran guardo su ip, cada vez que se loginean guardo la ip y la comparo con la del resto que tengo guardadas, si hay coincidencia me la muestra en una tabla.

2) Cada vez que entran guardo los http_referrals esos ;), navegador, versión, si tiene java o no generando una "huella digital" del equipo que se conecta, comparo esto con la del resto y me saca un listado de huellas iguales.

3) Al hacer login le envío una cookie y cada vez que se vuelve a conectar comparo si tiene la misma cookie u otra, si tiene otra esque ha entrado con otro usuario y se que usuario ha entrado, etc... Todo esto me lo muestra en una tabla también.

4) Cada vez que se conecta compruebo si tiene la cookie o no y cada vez que un usuario se conecta sin cookie lo guardo y se cuantas veces ha borrado las cookies.

Todo esto me da cierta seguridad, pero aún y así todos sabemos que hay maneras de saltárselo , últimamente estaba pensando en comparar acciones dentro de la web, es decir la gente es bastante repetitiva y va a los mismos sitios en el mismo orden, además ahora casi todos los proveedores de internet dan ip's dinámicas y lo de identificar por ip ya queda obsoleto :(, lo de las cookies y la huella digital vale poco si usan 2 navegadores o 3 o ....

Ventaja, con tanto sistema y al ser webs donde suelen entrar a diario, al final cometen errores y se les pilla, a mi me está dando muy buen resultado pero hay que hacer un cierto seguimiento que me gustaría automatizar más.
  #8 (permalink)  
Antiguo 19/02/2008, 09:06
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: ¿Como identificar un usuario?

FBK, continuo pensando que la mejor opcion, son las COOKIES. Dado que evitarás mediante las mismas lo siguiente:

1.- Que un usuario se valide en un equipo con otro jugador
2.- Registros duplicados desde la misma maquina
3.- Da lo mismo que el usuario cambié de IP.
4.- Hoy por hoy, la comodidad de tener automatizada parte de la entrada en las 8923u489237490234324 mil páginas que visitamos a diario, nos hacen pensar DOS o incluso TRES veces si vale la pena eliminar todas las cookies con el fin de hacer trampas en un juego online xD

Por lo que he podido leer, respecto al enlace que te he dejado de ASP, tendrias que tener acceso al server y poder modificar algunos archivos, por lo que no se si es del todo una solución factible al 100%.

Al margen de posibilidades, esta claro que la captura de información de los equipos de los usuarios / visitantes puede llegar a ser algo bastante "peliagudo", pero en ocasiones nos puede quitar más de un quebradero de cabeza con el fin de evitar registros duplicados, spam de votos o valoraciones, etc.

Saludos

Última edición por popobcn; 19/02/2008 a las 09:11 Razón: Tabular + Enter = Menos mal que trabajo en SILO de MISILES ATOMICOS!!! xD
  #9 (permalink)  
Antiguo 19/02/2008, 09:45
Avatar de FBK
FBK
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: ¿Como identificar un usuario?

Lo de las cookies lo hice hace bastante tiempo y estoy contigo en que por ahora es lo que mejor resultado da.

Yo lo que hice es complicar el registro, es decir si te intentas registrar al juego desde una ip que ha sido utilizada o desde un ordenador con una cookie del juego no te deja.

Lo de la detección de los datos del equipo desde el que se conectan no aporta mucho ya que pueden haber muchas coicidencias que no puedes discriminar las que son clones de las que no.

En cuanto a lo del asp tengo acceso al server ya que el server es mio y lo tengo en casa , je je . Muchas gracias por todo y seguiremos trabajando para la seguridad y eliminar a los tramposos.

De todas formas os invito a entrar y opinar;)
http://217.127.190.188/newbw/
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 08:22.