Les votes publics et l'évitement du vote mutliple: utilisation de cookies ou IP?

Comment gère-t-on le vote public (n'importe qui peut "aimer ou ne pas aimer" un article) et le restreindre à voter qu'une seule fois?

Dois-je utiliser des cookies? (Avec le problème qu'il peut supprimer le cookie et voter x999 fois) ou je stocke son IP dans la base de données?

Merci

La solution comporte trois parties:

  1. Utiliser un cookie pour éviter les doubles votes
  2. Stocker tous les événements de vote dans la base de données (ip, agent utilisateur, sondage / article id, vote)
  3. Met en œuvre un algorithme qui fonctionnera toutes les 24h pour supprimer les doubles votes qui ont échappé au numéro 1. L'algorithme utilisera les données du # 2

En n'utilisant que l'IP n'est pas approprié, car il peut laisser des tonnes de personnes hors du système de vote.

Utilisez l'IP.

Bien que vous puissiez faire en sorte qu'un groupe de personnes ne vote qu'une fois derrière une seule adresse IP, l'alternative est banale de contourner (ne pas stocker les cookies).

Je dirais les deux pour que, s'il y a des personnes ayant une IP dynamique, elles devront changer l'adresse IP et supprimer les cookies au même moment.

Si l'utilisateur authentifie, c'est-à-dire qu'il vote comme lui-même, lance un enregistrement dans la base de données indiquant que l'utilisateur a déjà voté. Pour les électeurs anonymes, vous êtes limité aux cookies, au stockage local, à l'ect.

Au lieu que les cookies puissent utiliser evercookie , ce qui est beaucoup plus difficile (mais toujours possible) de contourner.

Evercookie est une API javascript disponible qui produit des cookies extrêmement persistants dans un navigateur. Son objectif est d'identifier un client même après avoir supprimé les cookies standard, les cookies Flash (Local Shared Objects ou LSO) et d'autres.