L'un des problèmes avec les applications grand public est de traiter avec de faux comptes d'utilisateurs. L'utilisation d'un service Open ID ne résout pas le problème, car tout le monde peut ouvrir plusieurs comptes Google et enregistrer autant d'utilisateurs différents avec plusieurs comptes Open ID différents.
Notez que cette question dépasse l’authentification - je suppose que l’utilisateur derrière les faux comptes utilisateur prend le temps de s’authentifier par courrier électronique et utilise un nom d’utilisateur et un mot de passe légitimes.
Dans les applications StackExchange, cela se fait en donnant un minimum de 15 répétitions avant que l'utilisateur puisse faire quelque chose d'important sur le site. Toutes les applications Web ne possèdent pas ce luxe, car certaines applications sont conçues pour des comptes d'utilisateurs éphémères, tels que des applications de commerce électronique ou certains forums, qui ne créent généralement pas de relation à long terme avec les utilisateurs.
Existe-t-il un moyen systématique d'établir la crédibilité de l'utilisateur?
Il existe un moyen systématique d’établir avec un degré élevé de certitude que l’utilisateur est bien un être humain. Après cela, vous ne pouvez plus vous fier qu'à ce que fait cet utilisateur.
Selon la nature de votre application Web, les "mauvais" utilisateurs seront probablement ceux qui:
Des API comme Akismet vous permettent d’attraper une quantité importante de SPAM avant même qu’elle apparaisse. Au-delà de cela, vous devriez disposer d'un moyen permettant aux "bons" utilisateurs de signaler la publication/la vente aux enchères/quoi que ce soit comme inappropriée.
Les marionnettes à chaussettes ne sont vraiment pas nouvelles et sont découvertes en analysant les habitudes d'utilisation. Les déraciner sur un site tel que Wikipedia est un peu différent que de les déraciner sur un site comme SO, où l'utilisation "normale" de quelqu'un est assez déterministe. Cela signifie que les abus (abuser des boutons de vote haut/bas) sont plus faciles à détecter. Il est difficile de donner des recommandations spécifiques sans plus d'informations sur ce que serait un "bon" comportement sur votre site.
Ce que je voudrais, c'est offrir une sorte de récompense pour le comportement que vous souhaitez. Si vous voulez que les gens publient des articles en vente, donnez-leur une étoile ou un nom à côté de leur nom après l'avoir fait plusieurs fois. Récompenser la "star" avec autre chose, comme des frais réduits, une publicité réduite, peu importe. Faites en sorte que les "bons" utilisateurs aient la peine de vous donner quelque chose afin d’obtenir quelque chose.
Si votre site est vraiment "jetable" aux yeux de vos visiteurs, les utilisateurs le motiveront beaucoup. Peut-être, pensez-vous à un moyen de donner envie aux gens de participer sur une période de quelques jours au moins, cela vous donnera (dans la plupart des cas) le temps nécessaire pour éliminer les mauvais éléments et récompenser le comportement que vous souhaitez.
Stack Overflow lui-même est "jetable" pour certains de ses utilisateurs; nombreux sont ceux qui ne s'enregistrent jamais, posent une seule question, obtiennent leur réponse et disparaissent dès que leur cookie le fait. Mais la qualité de ce qu’ils font pendant leur séjour détermine leur crédibilité et leur probabilité d’obtenir ce qu’ils veulent.
Je ne pense pas qu'il existe un moyen systématique - après tout, s'il y avait des spammeurs, ils travailleraient sur des moyens de le vaincre car cela déverrouillerait le site de tout le monde pour eux.
Vous devez avoir quelque chose sur votre site que seuls les utilisateurs authentiques voudraient faire. Vous avez mentionné le modèle de réputation de Stack Exchange, un autre consiste à encourager les gens à dépenser de l'argent réel.
Par exemple, Steam vient de commencer à exiger que vous achetiez un jeu avant de déverrouiller des fonctionnalités. Il y a quelque temps, je me suis inscrit à Steam pour obtenir leur offre de portail gratuitement et j'ai ajouté quelques personnes en tant qu'amis. Je viens d'essayer d'ajouter quelqu'un d'autre et cela a échoué car je n'ai aucun contenu payé dans mon profil.
Bien que cela ne fonctionne pas pour tout le monde, vous n’auriez peut-être pas payé pour le contenu! - mais c'est certainement une option. La seule chose à laquelle les spammeurs ne voudront pas se séparer est l’argent.
Une autre option serait de demander à l'utilisateur de fournir du contenu. Supposons que vous dirigiez un site d'art ou que vous écriviez. Les utilisateurs du site d'écriture ne pouvaient accéder au site complet qu'après avoir soumis une œuvre d'art ou une écriture. Vous devrez probablement y jeter un coup d'œil humain pour vous assurer qu'il ne s'agit pas simplement d'un fichier jpg aléatoire ou d'un bloc de texte "ipsum lorem"!
Donc, la réponse est que cela dépend de la nature de votre site.
Les réponses de la question Existe-t-il un moyen d’interdire réellement les internautes à partir d’un site Web? pourrait vous aider à vous donner quelques idées.