网站.VoteUp或VoteDown视频.如何限制用户多次投票?

Don*_*Msc 8 javascript php mysql ajax

我正在网站上工作(html,css,javascript,ajax,php,mysql),我想限制特定用户为特定视频投票的次数.

它类似于YouTube系统,您可以在其中投票或投票投放特定视频.

每个投票都涉及在video.votes表中添加一行,该表记录时间,投票方向(向上或向下),客户端IP地址(使用PHP:$ ip = $ _SERVER ['REMOTE_ADDR'];),当然还有相关视频的ID.

增加投票就像这样简单; (伪代码):Javascript:onClick(投票(a,b,c,d)),它通过ajax将变量传递给PHP插入脚本,最后我们用"Thank You For Voting"消息替换投票按钮.

问题:

如果您在投票后重新加载/刷新页面,您可以再次投票,一次又一次,您可以得到重点.

我的问题:

你如何限制特定用户为特定视频投票的次数?

我的想法:

您是否使用cookie,并添加一个带有视频ID的新cookie.在插入新的投票之前检查一下cookie.

要么

在插入投票之前,您是否使用IPaddress和videoID来查看此相同用户(IP)是否在过去24小时(mktime)中为同一视频(vidID)投票,并允许或不允许基于此的voteInsertion查询?

要么

你不在乎吗?假设大多数用户都是理智的,并且有更好的事情要做,而不是刷新页面并重复投票.

任何建议或想法欢迎.

And*_*y E 4

您是否使用 cookie,并添加一个带有视频 ID 的新 cookie。并在插入新投票之前检查 cookie。

Cookie 可以轻松禁用或快速清除。将投票保存到 cookie 中是不可靠的,并且投票可以毫无问题地被操纵。

在插入投票之前,您是否使用 IP 地址和视频 ID 来查看同一用户 (IP) 在过去 24 小时(mktime)内是否为同一个视频(vidID)投票,并根据此允许或不允许投票插入询问?

许多用户可能使用同一路由器,实际上具有相同的 IP。通过这样做,您可能会阻止用户投票,从而激怒他们,因为来自同一办公室/家庭的另一个人在向他们发送链接之前已经对视频进行了投票。

你只是不在乎吗?假设大多数用户都是理智的,并且有比刷新页面和重复投票更好的事情要做。

这完全是主观的,取决于选票的重要性。如果投票是网站的重要组成部分,最好尽可能关心。例如,如果视频按照评分最高进行排序,一些用户可以多次投票来提高他们个人/喜爱的视频的受欢迎程度,给人以受欢迎的印象,以吸引更多观看。

如果投票很重要,最好只允许注册用户投票。当然,人们可以并且将会创建多个帐户来投票(参见http://gallery.live.com的示例),但你让他们变得更加困难。如果投票不是很重要,我会选择 cookie 选项。