2012-01-22 11 views
6

Estoy creando una aplicación web en la que los usuarios votarán por algunos candidatos al hacer clic en los pulgares arriba o abajo, y estos usuarios no tendrán ninguna cuenta en el sitio.Prevenir la votación doble

¿Cuál es la mejor técnica para usar? ¿Es necesario usar captcha para una mayor protección contra el correo no deseado?

Se espera que el recuento de votos sea de millones, y el tema no es muy crítico siempre que obtenga un 95% de precisión que estaría bien. Gracias.

+0

* No es muy importante *? El 95% de precisión ya es enorme. –

+0

agrega una cookie. o almacena direcciones IP si realmente tienes miedo. – neeKo

+1

Su mejor opción aquí sería establecer una cookie de larga duración que indique que el usuario ha votado previamente. Sin embargo, siempre habrá una forma de engañar al sistema, especialmente si no está guardando/rastreando cuentas de usuario. – SeanNieuwoudt

Respuesta

4

Puede combinar estos dos métodos:

  • Añadir una cookie para evitar votos múltiples desde la misma máquina
  • direcciones de registro de propiedad intelectual y de impedir el voto de más de un determinado número de veces con la misma dirección (por ejemplo, 5 veces la misma hora).

Esto hará posible que varias personas voten desde la misma red, pero aún así evitar el exceso de trampas.

También puede dificultar la creación de un bot de votación al agregar un campo de formulario oculto con un token que debe incluirse en la votación, y/o utilizar Ajax para la votación. Sé que es relativamente fácil construir un bot de todos modos, pero la mayoría de los tramposos no son tan inteligentes.

1

Galletas y identificadores de sesión ayudará, aunque ambos se pueden perder cuando se cierra el navegador (si el usuario lo tiene habilitado para eliminarlos). Aún así, le darán un cierto grado de precisión (por ejemplo, los votantes perezosos no se molestarán en cerrar y volver a abrir sus navegadores).

El uso de Direcciones IP también funcionaría, pero como @Michael Dillon dijo que las personas en la misma dirección IP (mismo enrutador) no podrán votar.

1

Tiene varias opciones, algunas o todas que puede usar.

Puede registrar el IP y luego compararlo con el IP, pero esto no es indicativo de una persona específica, solo una computadora y, a veces, no solo una sola computadora.

También puede escribir una cookie en el navegador del usuario, pero el usuario puede utilizar un navegador diferente, máquina, etc.

Dentro de la sesión de un usuario puede crear una variable de sesión, aunque si usted está esperando tráfico muy alto este puede no ser la mejor opción, y solo previene la nueva votación dentro de la misma sesión.

Si está contemplando un captcha, también puede pedirle al usuario que proporcione una dirección de correo electrónico y luego tiene la seguridad de al menos un voto por dirección de correo electrónico. Sin embargo, incluso entonces no se le pueden garantizar direcciones de correo electrónico válidas.

Cuestiones relacionadas