2010-10-13 5 views
11

Estoy creando una característica Me gusta/No me gusta. Para este fin, necesito identificar al usuario particular que le gusta o no le gusta la publicación. Tengo una idea que sin conexiones del usuario esto no se puede hacer perfectamente, pero cuál es el más cercano a la técnica perfecta, Cuestiones He se indican a continuación:La mejor manera de identificar a un usuario de manera única

  • Las cookies se pueden borrar, y puede variar en forma de un navegador a otro
  • mayoría de los usuarios no tienen una dirección IP pública dedicada, y su IP sigue cambiando para cada sesión
  • un combo de cookies e IP tampoco pueden servir al propósito

Así que cuál es la técnica deberán usar para ponerlo en práctica?

El lenguaje que uso para esto es PHP

Respuesta

9

Recientemente leí un artículo sobre esta pregunta y me sorprendió la cantidad de métodos que existen para dicha tarea. IP y cookies son solo "la punta del iceberg". Mire evercookie, js biblioteca que produce "cookies extremadamente persistentes".

+0

suena interesante, explorándolo en este momento –

+0

Además, si desea profundizar en la teoría, consulte http://panopticlick.eff.org/ y enlaces en ese sitio. – galymzhan

+0

acaba de probar Evercookie, funciona bien al menos en el sitio de demostración. Estoy a punto de intentarlo en una página de prueba –

3

Creo que lo mejor todavía ser una galleta, no es perfecto, pero si usted no desea utilizar el mecanismo de inicio de sesión, galleta es el mejor.

+4

Sí. Los tramposos harán trampa, sin importar los obstáculos que pongan en su camino, y al 99% restante de sus usuarios no les importará. A menos que esté implementando una elección electrónica, es suficiente. – Piskvor

+0

@PISKVOR - ESTOY DE ACUERDO CON USTED –

+0

debo usar algún tipo de combinación de usuarioIP, Cookies y UserAgent. btw incluso cambiando el navegador también permitirá que el mismo usuario vote dos veces –

0

No se puede obtener una identidad única perfecta de un usuario realmente. Simplemente imagina a un usuario que tiene dos computadoras separadas con navegadores separados y conexiones de internet separadas. No podrá identificar sus dos conexiones como pertenecientes al mismo usuario.

Una vez que acepta esto, puede ir tan elegante como lo desee. Las cookies son buenas en general, ya que aunque se pueden borrar, muchos usuarios no las borran realmente. Sin embargo, si te preocupan los usuarios abusivos, los IP te servirán mejor.

Además, podría incluir el agente de usuario de los navegadores, etc. Cuantas más pistas de identificación incluya, más difícil será falsificar el sistema. Sin embargo, debe tener en cuenta que puede gastar una gran cantidad de esfuerzo para eso, pero nunca obtendrá una solución perfecta de todos modos.

+1

escribe más rápido que yo ;-) –

+0

Estoy pensando en usar también el IP, pero todo se trata de que las IP cambien generalmente para cada sesión, ¿qué hay del navegador y la cookie? Eso también me hace pensar que si la cookie está presente, obviamente el navegador será el mismo –

2

Un inicio de sesión sería el mejor, pero si no puede seguir esa ruta, podría usar una combinación de cookie, IP y otros elementos. Con una combinación suficientemente grande de parámetros, puede identificar a los usuarios con bastante buena precisión (incluso si no es 100%).

This es muy interesante y podría apuntar en la dirección correcta.

+0

Acepto, un sistema de inicio de sesión mantendrá a los usuarios únicos, al menos en base a un nombre de usuario. Por lo tanto, si quieren votar dos veces, pueden inscribirse más de una vez, pero generalmente se puede esperar que la gente se aburra al someterse a un proceso de inscripción dos veces. –

+0

@etbal, no tengo sesión en el sitio –

0

vamos a considerar todas las opciones para la identificación:

No se puede utilizar IP: Usted no tiene control sobre todos los NATs y direcciones IP dinámicas entre el servidor y el navegador.
Puede usar cookies: Usted tiene un control casi total sobre ellas. (La mejor opción aquí)
Puede utilizar algún tipo de identificación de usuario: Pero no desea utilizarlos aquí. En su lugar, puedes usar alguna variante de ella. Haz el uso ingrese su identificación de correo electrónico. No puedo pensar en ninguna otra identificación de usuario sin la intervención del usuario.

+0

, la cookie parece ser una solución que podría funcionar, no puedo pedirle a un usuario una dirección de correo electrónico simplemente por agrado o desagrado por algo. –

2

Con suficiente información, debe poder identificar de forma única a la mayoría de los navegadores. Esto no impide que las personas cambien navegadores. El siguiente enlace explica más.

https://panopticlick.eff.org/

Lo mejor que puede hacer es integrar facebook similares.

+0

Será útil si puede narrar en la publicación anterior cómo distinguir a un usuario, incluso si el usuario inicia sesión de incógnito (o borra caché/cookies, etc.) – DDM

Cuestiones relacionadas