Tiene sus dos respuestas, debe decidir cuál es la mejor. Ninguna opción va a ser a prueba de balas. Se trata de desacelerarlos, y qué nivel de efectividad es aceptable para ti.
Generalmente, una cookie es la manera aceptable de hacerlo. Sí, las cookies se pueden borrar, pero si el deseo de evitar la votación duplicada es que es importante, entonces el registro es la única forma efectiva de evitarlo. Cualquier otro mecanismo probablemente podría ser superado por aquellos que lo deseen. Puede usar algo como Evercookie, pero generalmente no creo que sea una buena práctica hacerlo. Si hace que su proceso de registro sea simple pero efectivo, algunos usuarios lo harán.
Una dirección IP es tan defectuosa como la mayoría de IPs redisenciales no están asignadas estáticamente. Alguien podría restablecer su módem y obtener una nueva dirección IP. O peor, alguien podría restablecer su módem, obtener una dirección IP que ya haya visitado el sitio y no poder votar. Otro escenario es usuarios detrás de NAT. Si 200 personas comparten una IP con NAT, solo una de ellas podrá votar.
Usted podría hacerse creativo con la dirección IP. Sigue usando la cookie, porque eso será efectivo. Si comienza a detectar varios votos desde la misma dirección IP (porque borraron sus cookies), muestre un CAPTCHA. Si no es alguien que intenta abusar del sistema, entonces todavía tienen la oportunidad de votar. Esto ayudará a evitar la votación automatizada, y ralentizará a los usuarios lo suficiente como para que abusar de su sistema de votación no valga la pena. Esto también puede ser derrotado, es el nivel de efectividad aceptable para usted. Incluso el registro no es puramente 100% efectivo, pero probablemente el más efectivo. ¿Qué evitaría que alguien se registrara muchas veces con diferentes direcciones de correo electrónico?
Dirección IP ....? – Ben
@Ben - Si el ISP de los usuarios proporciona IP dinámica, ¿entonces? – Bibhu
@Ben ¿Qué pasa si el usuario vota desde la computadora de la empresa? ¡todos los usuarios de este país evitarán votar! – dotfreelancer