2009-06-25 17 views
6

La única encuesta/votación/encuesta que quiero decir aquí es, el usuario solo puede votar una vez. ¿Cómo puedo hacer eso? Rastrear su ip? ¿Iniciar sesión? Además del inicio de sesión, ¿qué más? (iniciar sesión es mi última opción, por lo tanto, al iniciar sesión, ¿hay algo más que pueda hacer?)Crear encuesta/votación/encuesta única en php

Respuesta

8

Para restringir el número de votos por persona, necesita rastrear a la persona.

Ahora puede haber varias formas de hacerlo, y las enumeraré con sus pros y sus contras. Es para ti decidir qué método te conviene más.

  1. iniciar sesión: esto le ofrecerá el máximo control. Pero también es un poco engorroso para el usuario. y es su última preferencia
  2. IP: ¿cómo manejará a las personas que están detrás de los proxies web? ¿Qué hay de las personas con conexiones de acceso telefónico y/o direcciones IP dinámicas?
  3. cookies: esto es bueno para las encuestas de corto plazo, por lo que puede establecer el vencimiento de las cookies en un momento en que la encuesta haya finalizado. Pero, un posible inconveniente es que un usuario (en contraste con un luser) sabrá cómo eliminar las cookies.
  4. openId: Si bien este método no es muy diferente del método de "inicio de sesión", esto evita que el usuario se registre (que realmente es la parte que más importa de los inicios de sesión).

EDIT: el problema con esta situación es que se necesita para resolver el identidad del usuario. Creo que OpenID hace esto bastante bien.

Cheers,

jrh.

+0

Gracias ... He pensado en estas soluciones, que está en lo correcto, cada una de ellas tiene sus pros y sus contras ... ¿Hay alguna otra forma en que pueda pensar? – jingleboy99

+0

Sugiero que vaya con el método openid. pero es un poco más complicado de implementar que otros sistemas. – jrharshath

+0

Bueno, gracias. Definitivamente revisaré el openID. Votado para la mejor respuesta ... :) – jingleboy99

2

Siempre puede almacenar una cookie en su computadora. Sin embargo, tenga en cuenta que el usuario puede desactivar fácilmente las cookies o modificar el contenido de una cookie. No hay un método 100% confiable para hacer lo que desea hacer: el usuario siempre puede crear una cuenta nueva o cambiar a otra computadora, etc.

Si quiere ir con el método de cookies, hay tres posibilidades.

  1. Puede almacenar un poco de texto que dice esta persona ya ha votado
  2. Puede almacenar un identificador único referencia a su voto
  3. Puede almacenar una cookie de sesión y almacenar el resto de los datos en el servidor (probablemente más seguro, ya que no pueden editar los datos, solo el ID de la sesión, y al hacerlo probablemente lo invalide).
0

La manera más segura es un sistema de inicio de sesión.

Pero si no quieres usar uno, solía agregar un hash que contenía la IP de los usuarios y el navegador me ayudaría a filtrar en un grado mucho mejor que solo IP simple (la cadena del navegador podría ser diferente para diferentes personas utilizando el mismo navegador, debido a la versión, el sistema operativo y las extensiones instaladas), pero aún tiene problemas si cambian los navegadores, el mismo problema que las cookies. El hash se almacenó en una base de datos.

Cuestiones relacionadas