禁用链接Onclick

时间:2012-06-05 02:54:10

标签: php javascript html jquery

  

可能重复:
  Reddit-Style Voting Button

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

你做客户端的任何事都可能被击败,你必须在服务器上检查多个投票。但是,只需在单击按钮时删除侦听器即可执行部分实现:

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

请注意,只需重新加载页面即可重振监听器,删除cookie会破坏cookie解决方案,重置调制解调器会破坏IP嗅探,并且...