2009-06-25 6 views
6

Le sondage unique/vote/sondage que je veux dire ici est, l'utilisateur ne peut voter qu'une seule fois. Comment je fais ça? Suivre leur ip? S'identifier? A côté de la connexion, quoi d'autre? (connexion est ma dernière option, donc à côté de la connexion, y at-il autre chose que je peux faire?)Créer unique sondage/vote/sondage en php

Répondre

8

Pour limiter le nombre de votes par personne, vous devez suivre la personne.

Maintenant, il peut y avoir plusieurs façons de le faire, et je vais les énumérer avec leurs avantages et leurs inconvénients. C'est à vous de décider quelle méthode vous convient le mieux.

  1. connexion: cela vous offrira le contrôle ultime. Mais c'est aussi un peu lourd pour l'utilisateur. et votre dernière préférence
  2. IP: comment allez-vous gérer les personnes derrière les proxies Web? Que diriez-vous des personnes avec des connexions commutées et/ou des adresses IP dynamiques? Cookies: ceci est bon pour les sondages à court terme, de sorte que vous pouvez définir l'expiration des cookies à un moment où le sondage est terminé. Mais, un inconvénient potentiel est qu'un utilisateur (contrasté avec un luser) saura comment supprimer les cookies!
  3. openId: Bien que cette méthode ne soit pas trop différente de la méthode 'login', cela évite à l'utilisateur d'être enregistré (ce qui est vraiment la partie la plus importante des connexions).

EDIT: le problème avec cette situation est que vous devez résoudre l'identité de l'utilisateur. Je pense que OpenID est-ce bien joli.

Cheers,

jrh.

+0

Merci .. J'ai pensé à ces solutions, que vous avez raison, chacune d'entre elles a ses avantages et ses inconvénients ... Y a-t-il d'autres façons de penser? – jingleboy99

+0

Je vous suggère d'utiliser la méthode openid. mais c'est un peu plus compliqué à mettre en œuvre que d'autres systèmes. – jrharshath

+0

Eh bien, merci. Je vais certainement vérifier l'openID. Voté pour la meilleure réponse .. :) – jingleboy99

2

Vous pouvez toujours stocker un cookie sur leur ordinateur. Méfiez-vous, cependant, que l'utilisateur peut facilement désactiver les cookies, ou modifier le contenu d'un cookie. Il n'y a pas de méthode 100% fiable pour faire ce que vous voulez faire - l'utilisateur peut toujours créer un nouveau compte, ou passer à un autre ordinateur, etc.

Si vous voulez aller avec l'approche des cookies, il y a trois possibilités.

  1. Vous pouvez stocker un peu de texte en disant que cette personne a déjà voté
  2. Vous pouvez stocker un identifiant unique référençant leur vote
  3. Vous pouvez stocker un cookie de session et de stocker le reste des données sur le serveur (probablement plus sécurisé, car ils ne peuvent pas éditer les données, seul l'identifiant de session, et ce faisant l'invalidera probablement).
0

Le moyen le plus sûr est un système de connexion. Mais si vous ne voulez pas en utiliser un, j'ai l'habitude d'ajouter un hachage contenant l'IP des utilisateurs et le navigateur qui m'aidera à filtrer dans une bien meilleure mesure que la simple IP (la chaîne du navigateur peut être différente pour différentes personnes). en utilisant le même navigateur, à cause de la version, du système d'exploitation et des extensions installés), mais vous avez toujours des problèmes si vous changez de navigateur, le même problème que le cookie. Le hachage était stocké dans une base de données.