2011-06-07 7 views
7

Por el momento tengo un script con CAPTCHA, que al enviarlo registra la dirección IP de los usuarios para evitar que un usuario vote más de una vez por hora.¿Cómo puedo evitar que los usuarios voten más de una vez en 1 hora?

Sin embargo, muchas personas están usando proxies para evitar esta restricción de votos y me gustaría contratar protección adicional.

Me doy cuenta de que hay otras preguntas sobre este tema, pero siempre implican que las personas quieran que los usuarios solo puedan votar una vez, en lugar de una restricción cronometrada.

Gracias por cualquier ayuda

EDIT: No quiero obligar a los usuarios a iniciar sesión

Respuesta

6

No hay manera 100% segura de evitar que la gente vote más de una hora, pero aquí son algunos métodos para hacer que sea más difícil para los usuarios para eludir que:

  • colocar cookies en el ordenador del usuario
  • registrar su IP
  • del contenido del almacén en su localStorage (sólo para usuarios con navegadores HTML5)
  • Si realmente desea comenzar a cavar más profundo, usted c un inicio poniendo restricciones basadas en la duración de la sesión de los usuarios, cuántas páginas navegaron antes de la votación, es decir, comenzando a perfilar a los usuarios que intentan eludir el sistema, y ​​comienzan a imponer restricciones a esos usuarios perfilados.
2

Se podría utilizar cookies, pero la gente puede eliminarlos. Respuesta más simple sin obligarlos a iniciar sesión (para lo cual pueden crear más de una cuenta si tienen varios correos electrónicos, etc.) sería difícil limitarlos sin que puedan escabullirse de alguna manera.

+1

Usted podría también use súper espeluznantes, supercookies, que son realmente difíciles de eliminar. Emplean cookies flash, almacenamiento local, cookies js, etc. para que sea realmente difícil deshacerse de ellos. – aepheus

+0

Posible, pero creo que algunos navegadores ya los eliminan también (Opera i IIRC) –

0

¿Está en contra de que los usuarios se registren en su sitio para votar? Yo diría que sea basado en la cuenta, no en IP. Muchos usuarios pueden estar detrás de una NAT que les asignaría la misma IP externa (piense trabajo o escuela). En este caso, diría que una tabla con cuatro columnas sería suficiente: ID de usuario, ID de encuesta, tiempo de votación, elección. Si existe la misma combinación de ID de usuario/ID de encuesta y el tiempo es mayor que ahora menos una hora, no permita que voten

0

Si las personas "malas" son lo suficientemente inteligentes como para usar poderes para votar en contra de su voluntad, o las reglas, es probable que también puedan eludir otras protecciones ...

Pero aquí son las cosas que puede hacer:

1) Establecer una cookie en la máquina después de la votación, pero los usuarios podría quitar la cookie manualmente

2) Hacer cumplir las cuentas de usuario a votar, validados por una dirección de correo electrónico, pero los usuarios podrían crear usuario alternativo cuentas

2 bis) una cuenta de usuario puede obtener el derecho a voto sólo después de 24 horas, podría no ser adecuado para su aplicación

3) Como desbordamiento de pila, implementa una reputación m ecanismo de cuentas de usuario para que sean capaces de votar sólo después de haber demostrado que son no sólo los bots o identidades alternativas

1
  • tablas MEMORY en el servidor con direcciones IP

  • evercookie

  • navegador toma de huellas dactilares

  • requiere registro

  • trabajo cron para recoger las mesas una vez a la hora lista

  • http://code.google.com/p/mailvalidator/

  • marca de dominios prohibidos

visita 10minutemail y copia electrónica de dominio y añadir a la lista

Cuestiones relacionadas