2009-03-14 6 views
4

Cette question ne concerne pas l'empêchement d'un seul utilisateur d'enregistrer plusieurs comptes. Il suppose que l'enregistrement de plusieurs comptes ne peut pas être empêché, mais ce que nous voulons éviter/détecter, c'est quand l'utilisateur utilise les comptes pour voter pour lui-même. Cela s'appliquerait à des sites comme SO ou digg, où un utilisateur crée un deuxième compte uniquement dans le but de voter pour son premier compte.Comment empêcher un utilisateur d'enregistrer plusieurs comptes pour se voter

Avez-vous des idées sur la manière de prévenir/détecter le système de jeu de cette manière? Des idées comment SO le fait?

+0

également lire les réponses pour: http://stackoverflow.com/questions/170152/prevent-users-from-starting-multiple-accounts – Jacco

+0

thnx - je pris un coup d'oeil. cette question suppose que cela ne peut être évité. Je suis donc intéressé par des schémas de vote inhabituels. – mt3

Répondre

10

Les créateurs du site ont écrit environ Vote Fraud and You.

+0

merci x 2 - je n'étais même pas au courant SO avait un blog – mt3

2

Décourager l'utilisateur A de l'utilisateur votant B lorsque l'utilisateur B s'est connecté pour la dernière fois depuis le même terminal que l'utilisateur A. Vous pouvez tenter de suivre l'identité du terminal via l'adresse IP, les cookies ou une combinaison des deux. trop facilement déférable par l'utilisateur déterminé (utilisation de proxy anonymizer ou de multiples connexions wifi, effacement de cookie ou utilisation de plusieurs navigateurs, etc.) et, bien sûr, l'aversion inévitable des individus accédant à votre site par des proxies corporatifs.

Une autre ligne de défense complémentaire serait, si votre modèle de vote le permet, d'abaisser la valeur des votes donnés par une collusion potentielle, par ex. si l'utilisateur A a voté pour l'utilisateur B et l'utilisateur B a voté pour l'utilisateur A, vous pouvez décider arbitrairement de partager le vote entre les deux (0,5 point chacun); vous pouvez nuancer cela en fonction de la réputation existante (cesser progressivement de pénaliser les utilisateurs ayant une réputation élevée), ou ne pas nuancer (supposer que les utilisateurs ayant une bonne réputation, même s'ils votent légitimement entre eux - ou pour eux-mêmes s'ils sont malhonnêtes pour la réputation supplémentaire), etc etc.

+0

Ce genre de craint pour les utilisateurs se connectant via des proxies d'entreprise bien que: -/ –

+0

Certains fournisseurs d'accès utilisent des serveurs proxy transparents afin que chaque utilisateur utilisant ce fournisseur de services Internet semblera avoir la même adresse IP. Je pense que le filtrage IP peut être utilisé comme l'un de vos critères pour que A et B soient la même personne, mais ce n'est pas sûr que ce soit le seul. –

1

Semble un signe évident serait lorsqu'un compte d'utilisateur jette presque tous ses upvotes pour un autre compte d'utilisateur. Si j'écrivais un algorithme pour rechercher la fraude électorale, je commencerais probablement comme ceci: pour chaque compte d'utilisateur A, créez un histogramme montrant, pour chaque nombre N = 1,2,3, ... de votes, combien d'autres comptes ont reçu N votes de A? Je suppose que ce serait quelque chose comme une distribution exponentielle décroissante, par exemple. A a upvoted 100 comptes une fois, 50 comptes deux fois, 25 comptes 3 fois, et ainsi de suite ... le point étant, il tombe à zéro après seulement quelques comptes (dans ce cas après N ~ 8). Si le compte A augmente trop souvent le compte d'un compte particulier, vous verrez un nombre de N absurdement grand comme 80 ou 100, et vous pouvez avoir le drapeau du système que vous pouvez regarder de plus près.

0

Un moyen plus facile de vous faire voter est d'afficher des réponses intelligentes. On pourrait également recourir à une forme de clickjack pour encourager les autres à voter pour vous sans qu'ils prennent une action explicite pour le faire.

0

Il n'est pas verrouillable, mais nous pouvons montrer certaines statistiques au public et éviter que les utilisateurs ne le fassent. Voici ma réponse.

  1. S'il y a deux personnes sur StackOverflow, 'A' et 'B'.

  2. Si 'B'-up vote 'A' plus de 25 fois, alors cela devrait être affiché sur Un profil de.

  3. Maintenant, si 'B' ont plus de 500 points de réputation, cela signifie que son OK 'B' participe également au SO.

  4. Si 'B' ont moins de 500 points de réputation et la mise vote 'A' 25 fois, il se peut que 'B' est un faux profil. Dans le cas, si «B» est supprimé après les mises à jour, alors cela devrait être affiché sur les profils après certains cas particuliers.

OU

leur devrait y avoir quelques statistiques sur chaque profil d'utilisateur comme ceci:

10 up-votes from profiles with above 10,000 rep 
27 up-votes from profiles with above 5,000 rep 
50 up-votes from profiles with above 3,000 rep 
45 up-votes from profiles below 1,000 rep 
10 up-votes from deleted profiles. 
20 up-votes from inactive profiles. 

OU

20 rep on one up-vote from a person with above 10,000 rep 
15 rep on one up-vote from a person with above 5,000 rep 
10 rep on one up-vote from a person with above 1,000 rep 
05 rep on one up-vote from a person with above 500 rep 
02 rep on one up-vote from a person with below 500 rep 

ou quelque chose comme ci-dessus peut aider .

https://meta.stackexchange.com/questions/35989/how-to-detect-if-users-have-created-more-than-one-profile-to-support-himself-hers/35994#35994