63 votes

Chasse aux tricheurs lors d'un concours de vote

Nous sommes en train de lancer une compétition qui se déroule très bien. Malheureusement, nous avons tous ces tricheurs de retour dans les affaires qui sont en cours d'exécution des scripts automatiquement voter pour leurs entrées. Nous avons déjà vu des tricheurs en regardant les entrées de la base par la main de 5 Étoiles avec le même navigateur, exactement toutes les 70 minutes par exemple. Maintenant que le nombre d'utilisateurs grandit, il devient plus difficile et plus difficile à identifier.

Ce que nous faisons jusqu'à présent:

  1. Nous enregistrons l'adresse IP et le navigateur et bloc de combinaison pour une heure de délai. Les Cookies ne pas aider contre ces gars-là.
  2. Nous sommes également à l'aide d'un Captcha, qui a été brisé

Personne ne sait comment nous pourrions trouver des modèles dans notre base de données avec un script PHP ou comment on pourrait les bloquer de manière plus efficace?

Toute aide serait très appréciée...

79voto

Otto Allmendinger Points 11853

La rétroaction directe de l'élimination

Il s'agit plus d'une stratégie générale qui peut être combiné avec de nombreux autres méthodes. Ne laissez pas l'expéditeur de savoir s'il réussit.

Vous pouvez masquer les résultats actuels au total, seulement affichent des pourcentages sans nombre absolu de voix ou de retarder l'affichage de la voix.

  • Pro: bon contre toutes les méthodes
  • Con: si la fraude est massive, l'affichage en pourcentage et en retard ne seront pas efficaces

Vote de repérage

Aussi une stratégie générale. Si vous avez quelque raison de supposer que le vote est par un spammeur, à compter de leur droit de vote et le marquer comme non valide et supprimer les votes nuls à la fin.

  • Pro: bon contre toute détectable attaques de spam
  • Con: incline le vote, plus difficile à mettre en place, les faux positifs

Captcha

L'utilisation d'un CAPTCHA. Si votre Captcha est cassé, l'utilisation d'un meilleur.

  • Pro: bon contre tous les scripts automatisés.
  • Con: inutile contre pharygulation

IP de vérification

Limiter le nombre de voix qu'une adresse IP peut lancer dans un laps de temps.

  • Pro: Bien contre le hasard mecs qui ne cessent de frapper la touche F5 dans leur navigateur
  • Pro: Facile à mettre en œuvre
  • Con: Inutile contre Pharyngulation et d'élaborer des scripts qui utilisent des serveurs proxy.
  • Con: Une adresse IP, parfois, des cartes à différents utilisateurs

Référent de la vérification

Si vous pensez que l'un cartes d'utilisateur d'une adresse IP, vous pouvez limiter le nombre en cas de vote par adresse IP. Cependant cette hypothèse habituellement seulement vrai pour les ménages privés.

  • Pro: Facile à mettre en œuvre
  • Pro: les Bons contre les simples pharyngulation dans une certaine mesure
  • Con: Très facile à contourner par des scripts automatisés

E-Mail De Confirmation

Utiliser l'Email de confirmation et un seul vote par e-Mail. Vérifiez votre base de données manuellement pour voir si elles sont à l'aide du jetable-mails.

Notez que vous pouvez ajouter +foo de votre nom d'utilisateur dans une adresse e-mail. username@example.com et username+foo@example.com permettra à la fois de livrer le courrier pour le même compte, donc n'oubliez pas que lors de la vérification si quelqu'un a déjà voté.

  • Pro: les bons contre de simples scripts spam
  • Con: plus difficile à mettre en œuvre
  • Inconvénients: Certains utilisateurs ne l'aime pas

Formulaire HTML Randomisation

Aléatoire l'ordre des choix. Cela peut prendre un certain temps pour le découvrir.

  • Pro: sympa d'avoir de toute façon
  • Con: une fois détecté, très facile à contourner

HTTPS

Une méthode de vote truqué est de capturer la requête http à partir d'un navigateur valide comme Firefox et imiter avec un script, cela ne fonctionne pas aussi facile lorsque vous utilisez le chiffrement.

  • Pro: sympa d'avoir de toute façon
  • Pro: les bons contre de simples scripts
  • Con: plus difficile à mettre en place

La vérification Proxy

Si le spammeur votes par procuration, vous pouvez vérifier pour la X-Forwarded-For - tête.

  • Pro: bonne contre plus avancée de scripts qui utilisent des proxys
  • Inconvénients: certains utilisateurs légitimes peuvent être affectés

Cache de la vérification

Essayez de voir si le client charge tous les non mise en cache des ressources. De nombreux robots des spammeurs, ne pas le faire. Je n'ai jamais essayé, je sais juste que ce n'est pas cochée généralement par des bureaux de vote.

Un exemple serait l'incorporation <img src="a.gif" /> dans votre code html, avec a.gif certains 1x1 pixel de l'image. Ensuite, vous devez définir l'en-tête http de la requête GET /a.gif avec Cache-Control "no-cache, must-revalidate". Vous pouvez définir les en-têtes http Apache avec votre .htaccess le fichier comme ceci. (merci Jacco)

  • Pro: rare méthode pour autant que je sais
  • Con: un peu plus dur

[Edit 2010-09-22]

Evercookie

  • Un soi-disant evercookie peut être utile pour suivre le navigateur de base de spammeurs

6voto

dusoft Points 5014

Avez-vous essayé de faire des empreintes digitales de navigateur? Vérifiez cette source ouverte auprès de EFF: https://panopticlick.eff.org/ Pourrait être utilisée pour identifier une personne semblable à 500-1500 dans le monde (!).

4voto

shuvalov Points 1609

Vous pouvez ajouter captcha au formulaire de vote. Nécessitant également une confirmation par e-mail sera utile

2voto

Douglas Leeder Points 29986

Si vous êtes vraiment inquiet à ce sujet, alors vous devez faire quelque chose comme e-mail de vérification, qui peut être suffisante pour bloquer la plupart des tricheurs.

Aussi cela dépend si plusieurs personnes derrière un NAT sont susceptibles de vouloir voter pour la même option (par exemple, préférée à l'école).

Tout système que vous créez peut être faussée.

EDIT: Comme tout le monde l'a suggéré, vous pouvez utiliser un CAPTCHA comme reCAPTCHA pour bloquer les robots automatisés, et de rendre l'homme moins susceptibles de répéter vote. Au prix de rendre l'homme moins susceptibles de voter à tous.

2voto

amelvin Points 6028

Le Vote de Promouvoir le modèle (vous pouvez en être conscient) a une section sur la façon d'atténuer les effets de jeu - mais il est difficile d'éviter complètement. Compte tenu de vos actions à la date que je considère à l'aide de pondération, par exemple, considérons un niveau raisonnable de vote sur une période de temps, disons 10 votes par ting par heure (juste un exemple, pas un guide) et pour la voix en surplus de poids au cours des 10 à 90% (c'est à dire qu'il ne compte 9), dans les 10 à 80% et ainsi de suite. C'est Yahoo des avis sur le jeu au sein de ce modèle:

Communauté de vote systèmes présentent un certain nombre de défis. En particulier la possibilité que les membres de la la communauté peut essayer de déjouer le système, de n'importe quel nombre de motivations:

  • malice - peut-être contre un autre membre de la communauté et que des cotisations.

  • gain de réaliser une récompense pécuniaire ou autre, à partir de influencer le placement de certains articles dans la piscine)

  • ou globale de l'ordre du jour - toujours à la promotion de certains points de vue ou des déclarations politiques, avec peu de l'égard de la qualité effective de l' contenu voté pour.

Il y a un certain nombre de manières pour tenter pour se protéger contre ce type de les abus. Même si rien ne peut arrêter le jeu tout à fait. Voici quelques façons de réduire ou entraver les agresseurs dans leur des efforts:

  • Voter pour les choses, pas les gens. En accord avec Yahoo générale de stratégie, ne pas offrir aux utilisateurs la possibilité de directement voter sur un autre utilisateur: leur regarde, leur popularité, l'intelligence, ou quoi que ce soit d'autre. C'est OK pour la communauté de voter sur un personne contributions, mais pas sur le la qualité de leur caractère.

    • Envisager de limitation de vitesse de la voix. o Seulement permettre à l'utilisateur un certain nombre de voix à l'intérieur d'un période de temps. o Limiter le nombre de fois (ou le taux) d'un utilisateur votes en bas d'un utilisateur particulier. (Pour prévenir ad-hominem attaques.)

    • Pèse d'autres facteurs, en plus juste le nombre de votes. Digg, pour exemple, ne pas calculer leur Digg-score uniquement sur le nombre de voix une soumission reçoit. Leur l'algorithme considère également: "histoire source (est-ce un blog rediffuser, ou la l'histoire originale), histoire de vie, de la circulation les niveaux de la catégorie de l'histoire tombe en vertu de l', et des rapports d'utilisateur." Mise à jour cet algorithme fréquemment. Envisager en gardant l'exacte algorithme de un secret de la communauté, ou de discuter le compte entrées dans les conditions générales.

  • Si les informations de relation est disponible envisager de pondération de l'utilisateur votes en conséquence. Peut-être interdire les utilisateurs avec des relations formelles de le vote pour chacun des autres présentations.

Alors que ce qui est actuellement populaire motif sur le Web, il est important de considérer les contextes dans lesquels nous utilisons c'. Très active et populaire communautés (Digg est un excellent exemple) qui permettent à la collectivité de droit de vote peut également engendrer une certaine négativité de l'esprit (commentaires, opinions cliques, des attaques de groupe sur les "valeurs aberrantes' les points de vue).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X