Hola,
Deseamos registrar en una BD, por motivos de seguridad, algun dato que
identifique a la máquina que entra y usa la aplicacion.
En una aplicación web no tienes muchas opciones. Hay que tener claro que
una aplicación web viene determinada por las
caracterÃsticas/limitaciones del protocolo HTTP.
Entonces… en una petición HTTP hay que tener claro que lo que te llega
es lo que la máquina cliente decide que te va a enviar, ni más ni menos.
Y esto que la máquina cliente te manda, viene en tres sitios: Cabeceras,
Cookies, Parámetros.
En la primera opción, cabeceras estándar, lo más parecido a un
identificador es la IP. Si la IP no te vale, hay que ver qué más podemos
sacar de los otros sitios. De una Cookie puedes sacar cualquier cosa que
tú previamente le hayas mandado, asà que si esa aproximación te vale,
puedes usar el mismo identificador de session de la cookie de session de
rails.
Si no te vale la IP, ni te vale una cookie (básicamente porque no te
fÃes del uso de la cookie que hagan los usuarios de tu aplicación, que
en tu caso al ser una aplicación al parecer de uso interno no deberÃa
pasar mucho), una aproximación factible es poner un login en la
aplicación, y entonces guardar la información del usuario que accede, y
no la máquina concreta. Esto deberÃa ser suficiente para casi cualquier
necesidad, a no ser que lo que quieras sea limitar el uso de la
aplicación por un tema de licencias.
Si estás en el caso de poner licencias a tu aplicación, o algún otro uso
que requiera de verdad de verdad identificar a la máquina, te refiero al
mail que contesté ayer a uno de los esparza preguntando sobre la Mac
Address… o lo intentas con un applet, o con un activeX. También te
quedarÃa la opción de utilizar un certificado digital, aunque como los
certificados son exportables, nadie te impide usar un certificado desde
diferentes sitios.
Esta pregunta realmente no es que sea de Rails en sà misma, sino de
desarrollo web en general. Supongo que encontrarás diferentes enfoques y
discusiones en google buscando por sistemas de encuestas o de
votaciones, que tienen exactamente el mismo problema (identificar
inequivocamente quién ha votado ya para no dejarle hacerlo más veces).
saludos,
javier ramÃrez
p.s. serÃa interesante que no enviéis el mismo mail exacto dos personas
diferentes a la lista, más que nada porque sólo crean ruido y es
probable que las conversaciones se crucen y acaben perdiendo eficiencia
–
javier ramÃrez
…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez