8
votes

Site Internet. VOYANT ou VIDÉOS VIDÉOS. Comment restreindre les utilisateurs votant plusieurs fois?

Je travaille sur un site Web (HTML, CSS, JavaScript, Ajax, PHP, MySQL), et je veux limiter le nombre de fois à un autre vote d'utilisateur pour une vidéo particulière.

sa semblable au système YouTube où vous pouvez voter ou voter une vidéo particulière.

Chaque vote implique l'ajout d'une ligne à la table VIDEO.Votes, qui enregistre l'heure, le sens du vote (haut ou bas), l'iPaddress client (à l'aide de PHP: $ IP = $ _Server [''];), et Bien sûr, l'identifiant de la vidéo en question.

Ajout de votes est aussi simple que; (Pseudocode): JavaScript: onclick (vote (A, B, C, D)), qui passe des variables au script d'insertion PHP via AJAX, et enfin, nous remplacons les boutons de députage avec un message "Merci de vote".

Le problème:

Si vous rechargez / rafraîchissez la page après le votant, vous pouvez voter à nouveau, et encore une fois, et encore, vous obtenez le point.

Ma question:

Comment limitez-vous le nombre de fois à un vote d'utilisateur particulier pour une vidéo particulière ??

Mes pensées:

Utilisez-vous des cookies et ajoutez-vous un nouveau cookie avec l'ID de la vidéo. Et vérifiez un cookie avant d'insérer un nouveau vote.?

ou

Avant d'insérer le vote, utilisez-vous l'iPaddress et la vidéoïde pour voir si ce même utilisateur (IP) a voté pour cette même vidéo (VIDID) au cours des 24 dernières heures (MKTime) et autorisez ou dissuadez latouche Basé sur cette requête?

ou

Ne vous souciez-vous pas? Prenez l'hypothèse que la plupart des utilisateurs sont sains et ont de meilleures choses à faire que de rafraîchir les pages et de voter à plusieurs reprises.

Des suggestions ou des idées bienvenues.


0 commentaires

5 Réponses :


3
votes

Si vous ne vous souciez pas vraiment, spécifiquement à propos de l'effet 4chan, vous pouvez simplement utiliser un cookie. Ne partez pas sur l'adresse IP, car il y a des blocs de personnes derrière des routeurs Nat communs partout.

Si vous vous souciez un peu plus, vous devez authentifier les personnes, mais sans sorte de jeton externe pour identifier les humains individuels réels, vous auriez toujours des problèmes. Cela dépend de la nature de votre site, bien sûr. Par exemple, un site de banque à domicile pourrait soutenir le vote avec plus de confiance, car il peut identifier un utilisateur avec un numéro de compte réel.


0 commentaires

3
votes

J'utiliserais l'approche de la cookie. Il permet d'identifier des utilisateurs uniques (pour ceux qui acceptent les cookies) tandis que la propriété intellectuelle est une mauvaise approche car de nombreux utilisateurs peuvent partager la même adresse IP.

Si le site utilise la connexion, vous pouvez peut-être envisager la possibilité d'autoriser uniquement les utilisateurs enregistrés à voter. Dans ce cas, il est très facile de savoir si un utilisateur a déjà voté, mais très restrictif.


0 commentaires

2
votes

Peut-être que le meilleur conseil serait de laisser simplement voter les utilisateurs enregistrés. De cette façon, vous pouvez interroger où user_id = 'x' et vidéop_id = 'y' , si l'enregistrement est trouvé, ne le laissez pas voter.

Hélas, pour les utilisateurs anonymes, cela pourrait être délicat. Beaucoup d'adresses IP sont partagées sur des réseaux, un utilisateur dans le même bâtiment qu'un autre pourrait juste voter une fois.
L'option Cookies pourrait être bonne, sauf qu'ils peuvent être effacées. Vous ne pouvez rien faire confiance sur le côté de l'utilisateur.


0 commentaires

4
votes

Utilisez-vous des cookies et ajoutez-vous un nouveau cookie avec l'ID de la vidéo. Et vérifier un cookie avant d'insérer un nouveau vote.?

Les cookies peuvent être facilement désactivés ou effacés très rapidement. Sauver un vote à un cookie est peu fiable et les votes pourraient être obtenus sans problème.

Avant d'insérer le vote, utilisez-vous l'iPaddress et la vidéoïde pour voir si ce même utilisateur (IP) a voté pour cette même vidéo (VIDID) au cours des 24 dernières heures (MKTime) et autorisez ou dissuadez latouche Basé sur cette requête?

De nombreux utilisateurs pourraient utiliser le même routeur, ayant effectivement la même adresse IP. En faisant cela, vous pouvez être irritant des utilisateurs en les empêchant de voter car une autre personne du même bureau / ménage a déjà voté sur la vidéo avant de les envoyer le lien.

Ne vous souciez-vous pas? Prenez l'hypothèse que la plupart des utilisateurs sont sains et ont de meilleures choses à faire que de rafraîchir les pages et de voter à plusieurs reprises.

Ceci est entièrement subjectif et dépendant de l'importance des votes. Si le vote est une partie importante du site, il est préférable de prendre soin autant que vous le pouvez peut-être. Par exemple, si des vidéos ont été triées sur la mieux notée, certains utilisateurs pourraient voter à plusieurs reprises pour accroître la popularité de leur vidéo personnelle / préférée, donnant l'impression de popularité pour attirer plus de vues.

Lorsque le vote est important, il est préférable de permettre aux utilisateurs enregistrés de voter. Bien sûr, les gens peuvent et feront des comptes multiples pour voter (voir http://gallery.live.com pour un Exemple), mais vous en faites beaucoup plus fort pour eux. Si le vote n'est pas vraiment important, j'irais avec l'option de cookie.


4 commentaires

Ouais, plusieurs électeurs sont ce que je suis en train d'essayer d'éviter, car le propriétaire de Videox pourrait augmenter considérablement sa popularité. Un problème malade va avec un registre et de vous connecter pour voter ou laisser des commentaires sur des vidéos. Merci beaucoup de gars ...


Que vas-tu faire pour empêcher la même personne d'enregistrer plus d'une fois?


@Pointy: Même Google, YouTube, Microsoft et eBay ont des problèmes avec cela. Ils utilisent toujours des systèmes similaires de notation (retour sur eBay). Il y a très peu de choses que vous pouvez faire pour arrêter un utilisateur qui veut vraiment voter plus d'une fois, de toute façon que vous le regardez. Même avec votre exemple de compte bancaire - des comptes bancaires frauduleux sont mis en place tout le temps.


Oh oui, je comprends ça. Comme je l'ai écrit dans ma propre réponse, les choses ne sont pas vraiment meilleures avant d'avoir quelque chose réel travailler avec (comme un compte bancaire ou un numéro de carte de crédit). Clairement ce n'est pas une option ici.



1
votes

Si vous essayez vraiment d'empêcher plusieurs votes:

  1. Laissez seulement les utilisateurs authentifiés Votez
  2. stocker des votes dans une base de données pour vérifier contre
  3. stocke également les votes dans des cookies pour effectuer une vérification initiale et réduire la charge sur la base de données.

    Si vous ne vous souciez pas vraiment, utilisez simplement des cookies.


0 commentaires