Quelle est la meilleure façon d'empêcher les clients de la notation d'un produit plus d'une fois?

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

  •  22-09-2019
  •  | 
  •  

Question

Comment puis-je empêcher un client de notation d'un produit plus d'une fois? Est-il préférable d'utiliser des cookies qui stockent l'adresse IP ou est-il préférable d'évaluations des utilisateurs de stocker dans la base de données? J'utilise MySQL et ColdFusion.

Vive!

Était-ce utile?

La solution

Si vous avez des comptes d'utilisateurs, associer vos notes aux comptes. Job fait tant que un utilisateur n'a qu'un seul compte.

Si vous utilisez les cookies, vous aurez probablement un problème avec les utilisateurs qui les ont handicapés, qui utilisent plusieurs navigateurs ou qui les supprimer délibérément, si vous stockez l'adresse IP que vous devez potentiellement (bien qu'il soit tout à fait inhabituel) rencontrer des problèmes avec les différents utilisateurs de la même adresse IP Adresse- la même famille ou de l'organisation auront probablement adresses relativement peu IP externes, alors que les FAI comme AOL auront régulièrement des demandes pour une seule page proviennent de plusieurs adresses IP.

Dans l'ensemble mon sentiment est que si un utilisateur se soucie assez d'évaluer un produit qu'ils se soucient assez probablement pour vous inscrire à un compte utilisateur. Vous pouvez toujours garder un oeil sur les données IP et d'autres informations du navigateur dans le cas où quelque chose va mal famé, mais qui est le moyen le plus efficace pour faire en sorte que vos utilisateurs sont au moins assez distincts pour avoir des adresses e-mail. Il ne sera pas attraper tous ceux qui veulent manipuler sérieusement vos notes, mais en fait, si vous exécutez dans quelqu'un comme ça, vous aurez du mal à les arrêter tout ce que vous faites et jusqu'à ce que vous avez des motifs de useage indicatifs vous sera difficile de savoir ce que chercher. Dans ce cas, faire en sorte que quoi que vous fassiez, vous gardez les journaux soigneuses est importante ...

Autres conseils

Si vous pouvez enregistrer les notes sur la base de données, allez-y. Les cookies peuvent être supprimés et les adresses IP ne peuvent pas être utilisées pour identifier de manière fiable une personne en particulier.

Eh bien, une fois évalué communiquera tous vos proceedures de notation avec un droit de base de données? Puisque vous utilisez mySQL chaque note sera vraisemblablement enregistrée dans la base de données.

Lorsque vous avez évalué un produit, juste donner à l'utilisateur un identifiant unique, basé sur son IP, ou le cas échéant un nom d'utilisateur. Vérifiez ensuite si cet utilisateur a déjà noté une fois.

Son tout à fait simple.

 IF userVoted != true 
         saveVote ( "ipAddress", "User Voted Yes")
    else
         display ( "You have already voted" )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top