0

可能重复:
Reddit 风格的投票按钮

所以我一直在这个网站上工作,我想在我的网站中创建一个 stackoverflow/reddit 风格的投票系统。我想在用户单击链接时禁用链接,这样他们就无法投票两次。这是我的代码:

<a href="#" title="upvote" class="arrows" onclick ="submitVote(<?php echo
$lulz['link_id']; ?>, 1);
return false;">&uarr;</a>

我需要保留当前的点击功能,以便我可以添加投票。我可以添加另一个来禁用它(使用 cookie)。

4

2 回答 2

1

如果您使用 cookie,人们可能会作弊。任何人都可以删除 cookie,因此他们可以投票多次,只要他们愿意删除他们的 cookie。除了设置cookie之外,最好将信息存储在服务器上。但是,如果安全性不是那么重要并且您想使用 cookie,只需在 submitVote() 的末尾设置 cookie。在 submitVote() 的开头,您首先查找 cookie。如果它存在,那么您不会将投票发送到服务器。您可以使用 alert() 告诉用户他们不能投票两次。如果它不存在,那么只需将投票提交给服务器,然后添加 cookie。

于 2012-06-05T03:03:05.237 回答
0

你在客户端做的任何事情都可能被击败,你必须在服务器上检查多个投票。但是您可以通过在单击按钮时简单地删除侦听器来进行部分实现:

<a href="voteManually.html" onclick="submitVote();  this.onclick='';">vote</a>

请注意,简单地重新加载页面将使侦听器恢复活力,删除 cookie 将破坏 cookie 解决方案,重置调制解调器将破坏 IP 嗅探,并且……</p>

于 2012-06-05T05:16:20.637 回答