Foros del Web » Programando para Internet » Javascript »

en Encuestas, restringir a un voto por persona

Estas en el tema de en Encuestas, restringir a un voto por persona en el foro de Javascript en Foros del Web. tengo una encuesta y he notado que uno puede votar y votar indefinidamente, hay manera de evitar esto (si es que fuera posible, sin utilizar ...
  #1 (permalink)  
Antiguo 22/10/2003, 08:11
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 20 años, 9 meses
Puntos: 1
Pregunta en Encuestas, restringir a un voto por persona

tengo una encuesta y he notado que uno puede votar y votar indefinidamente, hay manera de evitar esto (si es que fuera posible, sin utilizar cookies?)
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
  #2 (permalink)  
Antiguo 22/10/2003, 08:21
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola acervantes.

La mejor forma de controlarlo es del lado del servidor. Guarda el ip o el usuario de tus votantes y buscalos antes de permitirles votar. Del lado del cliente solo podrías ayudarte con cookies pero es menos efectivo si deseas cierto nivel de verosimilitud en los resultados.

Saludos.
  #3 (permalink)  
Antiguo 22/10/2003, 08:49
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 20 años, 9 meses
Puntos: 1
más me inclino por el usuario, pero como tengo ese valor?
por otro lado; que pasa si cambio de encuesta?, tendría que borrar los usuarios que votaron, cierto?; si pudieras explicarme un poco más, te lo agradecería mucho.
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
  #4 (permalink)  
Antiguo 22/10/2003, 09:45
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola de nuevo acervantes.

En primer lugar te cuento que nunca he hecho nada como eso, pero intuitivamente te digo que pondría una cookie en el equipo del cliente con la identificación de la encuesta en particular de modo que al votar el usuario lo primero que revisaría es si existe una cookie que contenga ese identificador, y si existe es porque el usuario ya votó.

Si cambias la encuesta o tienes varias preguntas simultáneas, deberás usar un identificador distinto. Yo usaría algo como enc01, enc02, enc03,...

La caida es que un usuario puede votar en varias máquinas o puede borrar las cookies y volver a votar.

Por otro lado, al hacerlo con cookies vuelve a ser mas recomendable resolverlo con PHP / ASP que con JavaScript.

Dime si deseas pasar la pregunta a uno de esoso foros donde seguro podrás obtener tu respuesta de un modo mas preciso.

Saludos.
  #5 (permalink)  
Antiguo 22/10/2003, 09:50
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Oops.

Creo que no me había fijado en que no querías usar cookies.

Te cuento entonces que lo mejor, en mi opinión, es que guardes en una tabla el código de la encuesta y el ip del votante, de ese modo lo primero que deberás hacer antes de mostrar la página (o antes de grabar el voto) es ver si el ip del mismo está registrado o no dentro de los votantes de la encuesta y actuar en consecuencia.

Otra vez pasa a ser un problema PHP o ASP ya que con JavaScript ni puedes tener acceso a los archivos de datos ni puedes ver ips.

Saludos de nuevo.
  #6 (permalink)  
Antiguo 22/10/2003, 13:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 6 meses
Puntos: 0
Claro, es mucho más fácil con PHP.

Todo es cuestion de almacenar la IP en un archivo de texto y luego compararlos antes de mostrar la encuesta.

Esa es la solución si no quieres cookies.

amhyd
  #7 (permalink)  
Antiguo 28/10/2003, 17:26
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 20 años, 9 meses
Puntos: 1
bueno, para comentarles la solucion que le di, obviamente del lado del server, con PHP, pero no con IP's puesto que (al menos no pude) identificar el ip de cada pc (que se encuentren en una lan) pues me arrojaba el mismo ip del servidor de la lan (es decir si la lan es de 10 pc's sòlo valdrìa el primer voto); lo hice con variables de "session" que son algo asi como cookies (pero no lo son) y guardo la fecha de votacion; si al volver a votar la fecha es la misma da error; si lo hace en una fecha distinta (se podria manejar el rango deseado o fechas especificas) entonces puede votar nuevamente y se actualiza la fecha. Es cierto que un mismo usuario puede votar desde una misma pc pero en dias distintos, pero es algo así como un premio por ser "hincha" del site; además quién con más de 2 neuronas podría querer votar más de una vez, cuando la encuesta no tiene fines más que referenciales, no trascendentales. Gracias
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
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 07:56.