Foros del Web » Programando para Internet » PHP »

Votos únicos

Estas en el tema de Votos únicos en el foro de PHP en Foros del Web. Tengo un sistema de votaciones en el que compruebo IP y cookie para evitar que un usuario vote más de una vez. No quiero tener ...
  #1 (permalink)  
Antiguo 05/03/2006, 18:59
 
Fecha de Ingreso: marzo-2006
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Votos únicos

Tengo un sistema de votaciones en el que compruebo IP y cookie para evitar que un usuario vote más de una vez. No quiero tener que hacer a la gente registrarse, pero últimamente algunas opciones de las encuestas reciben una cantidad masiva de votaciones seguidas. La comprobación de IP y cookie funciona correctamente, así que me temo que usan un servidor DHCP para cambiar su IP o algo similar.

¿Cómo podría evitar estos votos múltiples? ¿Hay forma de detectarlo con PHP?
  #2 (permalink)  
Antiguo 05/03/2006, 20:01
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
No hay una forma 100% segura que te garantice que un mismo usuario no va a votar 2 veces en la misma encuesta.
Particularmente haría que se tengan que registrar para votar, pero si eso no te es útil lo plantearía de la siguiente forma:
Un usuario vota por una opción X de tu encuesta colocando la opción deseada y su correo. Tu sistema no almacena ese voto como definitivo y en su lugar le envía un email a la casilla del votante. Esa dirección de mail se almacena en una tabla de tu base de datos para evitar que se vuelva a votar con ese correo. Por otro lado, el usuario recibe un mail y hace click en un link de confirmación que le mandas. A partir de que confirme su voto, éste pasa a ser contabilizado.
Con esto logras que si un usuario tiene la intención de votar mas de una vez, al menos tenga que tener dos cuentas de e-mail distintas.

Por supuesto que el método resulta un tanto molesto para el usuario, lo mejor sería obligarlo a registrarse, pero todo esto depende de que tan serios deben ser los resultados de esa encunesta. Ya verás si te resulta útil.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 06/03/2006, 08:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Realmente si no deseas registrar tus usuarios que puedan votar o validarlos como comenta zaqpz (que al fin y al cabo es casi un "registro" de usuairo en su base) .. tendrás que asumir todo el margen de error que tendrán tus encuestas, desde la gente que usa IP dinámica .. los que pasan por proxys (para cambiarla o peor gente que entra desde ciertos ISP's o empresas donde todos aparecen bajo una misma IP) .. o si usas cookies, los que las bloquean .. las eliminan .. etc.

Un saludo,
  #4 (permalink)  
Antiguo 06/03/2006, 11:10
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 3 meses
Puntos: 5
Que te parece si condicionas tu sistema de votos por correo electrónicos.-
tus usuarios tendrían que crear uno y mas correos nuevos para jugarte sucio con tu sistema de votación.-

mandas la url con el voto un identificador que lo puedes sacar de un rand(1,1000000) mas más el mismo email

http://www.tuweb.com/[email protected]

validas esos resultados de la url que el usuario tiene que pinchar desde su correo, (claro esos resultados a la ora de enviar la url al email debería de almacenarlos en la base de datos).- de cumplirse todo.- mandas el voto y el email.- a una tabla en tu base de datos

ahora bien como hacer para que no te vuelva a votar ese usuario, fácil solo lee haces una consulta primero a la tabla donde esta los email que ya votaron y si se encuentra le deniegas sutilmente la entrada (Disculpe , su email ya dio su voto a nuestra base de datos.-)

Es una sugerencia,

Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #5 (permalink)  
Antiguo 06/03/2006, 15:31
 
Fecha de Ingreso: marzo-2006
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Sí, bueno...es la opción que tenía en mente, cualquier cosa de validación similar a lo del mail, que es muy sencillo, pero era por si sabíais alguna forma de comprobar su unicidad sin tener que recurrir a formularios.
  #6 (permalink)  
Antiguo 07/03/2006, 08:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Quien
Sí, bueno...es la opción que tenía en mente, cualquier cosa de validación similar a lo del mail, que es muy sencillo, pero era por si sabíais alguna forma de comprobar su unicidad sin tener que recurrir a formularios.
El problema no es de autentificar al "PC" sino a la persona que lo usa que es quien realmente "vota" .. Las "máquinas" no son las que votan sino las personas. He hay el "por qué" sea tan necesario si realmente necesitas un voto fiel sin margen de error (o lo menos posible) de que registres a tus usuarios o los valides por un e-mail o como gustes .. pero que en algún punto del proceso exista una intervención "humana" en la validación.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:15.