Est-il un moyen fiable pour empêcher la tricherie dans un basé sur le web des concours où les utilisateurs anonymes peuvent voter?

StackOverflow https://stackoverflow.com/questions/55835

  •  09-06-2019
  •  | 
  •  

Question

Je suis en train de travailler sur un concours en ligne qui est censée permettre aux utilisateurs anonymes de vote, mais nous voulons les empêcher de voter plus d'une fois.IP en fonction de limites peut être contourné avec proxies anonymes, les utilisateurs peuvent effacer les cookies, etc.Il est possible d'utiliser une application Silverlight, qui aurait accès au stockage isolé, mais les utilisateurs peuvent toujours évident que.

Je ne pense pas qu'il soit possible de le faire sans joker de vote lui-même avec un bot ou quelque chose.Vous avez une idée?

Était-ce utile?

La solution

La réponse courte est:pas de.Plus la réponse est:mais vous pouvez le faire de manière arbitraire difficile.Ce que je voudrais faire:

  • De vote nécessite la résolution d'un captcha (pour éviter autant que possible des machines à voter).Pour être encore plus efficaces je recommande d'avoir préparé plusieurs types de simple, le captcha (comme "choisissez la photo avec le chat", "qu'est-ce que 2+2", "le mot", etc) et de les faire tourner à la fois par le moment de la journée et par IP, ce qui devrait rendre les systèmes automatiques inefficace (c'est à dire si quelqu'un à l'aide de la propriété intellectuelle crée un bot pour résoudre le captcha, il devient inutile le jour suivant, ou si il/elle distribue sur d'autres ordinateurs/utilise des proxy)
  • Lorsque le filtrage par adresse IP, vous devez être prudent de considérer les situations où plusieurs hôtes sont derrière une adresse IP publique (autant que je sache, AOL procurations de leurs clients par le biais de quelques IPs - donc, une telle limitation serait effectivement interdire les utilisateurs d'AOL).Aussi, beaucoup de procurations envoyer les en-têtes pointant vers l'IP d'origine (comme les X-Forwarded-For), de sorte que vous pouvez prendre un coup d'oeil à ça aussi.
  • Enfin, en utilisant quelque chose comme de l'OFS (Flash Objets Partagés - des "cookies Flash") est assez obscure pour 99,99% des gens ne pas connaître.Silverlight est encore plus obscure.Pour être encore plus sournoises, vous pourriez acheter un autre domaine et définir l'OFS à partir de ce domaine (ainsi, si l'utilisateur est à la recherche de l'OFS est défini par votre domaine, ils ne verront pas tout)

Aucune de ces méthodes est de 100%, mais j'espère qu'ensemble, ils vous donnent le niveau d'assurance que vous avez besoin.Si vous voulez prendre ce à un niveau supérieur, vous devez ajouter une sorte d'enregistrement de l'utilisateur (qui peut être aussi simple que de demander une adresse e-mail valide lors du vote se produit et l'envoi d'un lien de confirmation à l'adresse donnée, et de ne pas compter les votes pour qui le lien n'était pas cliqué - de sorte qu'il n'a pas besoin d'être un acteur à part entière "créer un compte avec un nom d'utilisateur / mot de passe / les sapins prénom / nom de / etc").

Autres conseils

Non, vous ne pouvez pas, et il suffit d'une personne et d'un prêt de forum modifier l'issue d'un vote en ligne.

Vous avez à réaliser les défauts inhérents à un vote en ligne et plutôt que d'essayer de les contourner essayez de les utiliser à votre avantage.

-Adam

Vous pouvez certainement le faire difficile.

Ce sujet de la construction d'un profil de l'utilisateur avec des choses telles que l'adresse ip, le navigateur, le client, le nom de la machine, et toutes les autres informations que vous pouvez obtenir.

Stocker le profil pour chaque utilisateur, alors si vous recevez un profil qui est assez similaire à celle qui existe déjà dans la base de données (vous aurez à le tordre), vous pouvez jeter un vote.

J'imagine que vous pouvez probablement construire un meilleur profil à l'aide de silverlight, si je ne suis pas sûr de ce que les informations que vous donne accès à l'.

Solutions côté Client sont pour les raisons que vous avez énumérées, ils peuvent être manipulées par l'utilisateur.Les solutions côté serveur -- comme vous dites, peut être dupe et contourné.

Si vous êtes prêt à accepter le fait que vous ne pouvez pas être sûr à 100% que vous obtenez exactement un seul vote par personne, alors il ya quelques mesures que vous pouvez prendre pour réduire le bruit.

  • Utiliser un CAPTCHA dans votre vote-formulaire de soumission pour le rendre plus difficile pour les bots et scripts de vote.
  • Limiter le nombre de voix par IP adresse à un.
  • Envisager de demander l'enregistrement afin de pouvoir voter.(Je sais que cela va à l'encontre de la partie de votre question initiale, mais il vous donne un plus grand degré de contrôle sur le droit de vote.)

C'est un bon début.

mon expérience personnelle au concours de l'élaboration et de suivi me dit que non, il n'existe pas de méthode fiable pour éviter toute tricherie si vous laissez les utilisateurs anonymes de droit de vote (ou faire quelque chose qui leur permet de participer au concours).

vous pouvez jouer de la propriété intellectuelle, à introduire des délais entre l'action et la suivante, mais il est vraiment difficile:la meilleure façon est de présenter un captcha ou quelque chose de similaire, le cas échéant, dans votre situation particulière.

le meilleur de tous, ne laissez pas les utilisateurs anonymes participer:les laisser "jouer" et l'accès à une simulation, mais le concours a besoin d'un login.

Nope, c'est l'ordinateur de l'utilisateur et qu'ils sont en contrôle.Malheureusement, la seule solution est de le ramener sur votre cour afin de parler et d'exiger l'authentification.

Cependant, un CAPTCHA permet de limiter les votes pour les utilisateurs au moins.

Bien sûr, même avec une authentification vous ne pouvez pas appliquer seul bureau de vote parce qu'alors ils enseignent les robots de s'inscrire...

Je suis d'accord que la réponse courte est non...mais si vous regardez ma récente réponse ici: Comment anonyme d'identifier un utilisateur et stocker de l'information très certainement, vous pouvez l'obtenir dans un délai de 6% de marge d'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top