2010-02-23 29 views

Répondre

2

Si vous avez des comptes d'utilisateur, associez-les aux comptes. Travail effectué tant qu'un utilisateur n'a qu'un seul compte. Si vous utilisez des cookies, vous rencontrerez probablement des problèmes avec les utilisateurs qui les ont désactivés, qui utilisent plusieurs navigateurs ou qui les suppriment délibérément, si vous stockez l'adresse IP, vous risquez (bien que ce soit inhabituel) de rencontrer problèmes avec différents utilisateurs à partir de la même adresse IP - la même famille ou organisation aura probablement relativement peu d'adresses IP externes, tandis que les fournisseurs d'accès Internet comme AOL auront systématiquement des demandes pour une seule page provenant de plusieurs adresses IP. Dans l'ensemble, j'ai l'impression que si un utilisateur se soucie suffisamment de noter un produit, il se soucie probablement assez de s'inscrire à un compte d'utilisateur. Vous pouvez toujours garder un œil sur les données IP et autres informations de navigateur au cas où quelque chose de louche serait en cours, mais c'est le moyen le plus efficace de s'assurer que vos utilisateurs sont au moins assez distincts pour avoir des adresses email différentes. Il n'attrapera personne qui voudrait manipuler sérieusement vos évaluations, mais si vous rencontrez quelqu'un comme ça, vous aurez du mal à les arrêter quoi que vous fassiez et jusqu'à ce que vous ayez des schémas indicatifs, vous aurez du mal à savoir ce que vous ferez. chercher. Dans ce cas, assurez-vous que tout ce que vous faites, vous gardez soigneusement les journaux est important ...

+1

Si vous ajoutez un captcha au processus d'enregistrement de l'utilisateur, vous devriez être en sécurité contre quelqu'un qui ajoute des milliers de votes. – Krab

+1

En effet, mais si vous travaillez sur un système de vote "moyenne vote", il ne faudrait pas nécessairement beaucoup de faux comptes créés manuellement à partir d'adresses email multiples par un seul utilisateur pour biaiser fortement les notes en faveur de (ou contre) un seul produit. Particulièrement dans les premières étapes, un site serait très vulnérable à cela. Glenatron – glenatron

+0

, merci beaucoup. Je voulais également que les utilisateurs non enregistrés puissent voter. L'application de la logique dans la base de données my DB pour les utilisateurs enregistrés ne devrait pas être difficile. J'ai pensé à créer une table de menuisier (ratingID *, productID * (fk), userID * (FK)) pour suivre chaque évaluation ... mais ce sont les non-enregistrées qui me posent un problème. – Mohamad

2

Si vous pouvez stocker les avis dans 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.

1

Eh bien, toutes les évaluations que vous avez faites une fois notées vont communiquer avec une base de données, n'est-ce pas? Puisque vous utilisez mySQL, chaque note sera vraisemblablement enregistrée dans votre base de données.

Lorsque vous avez évalué un produit, donnez simplement à l'utilisateur un identifiant unique, basé sur son adresse IP, ou, le cas échéant, un nom d'utilisateur. Ensuite, vérifiez si cet utilisateur a déjà évalué une fois auparavant.

C'est assez simple.

IF userVoted != true 
     saveVote ("ipAddress", "User Voted Yes") 
    else 
     display ("You have already voted")