所以我一直在这个网站上工作,我想在我的网站上创建一个stackoverflow / reddit风格的投票系统。我想在用户点击链接时禁用链接,这样他们就无法投票两次。这是我的代码:
<a href="#" title="upvote" class="arrows" onclick ="submitVote(<?php echo
$lulz['link_id']; ?>, 1);
return false;">↑</a>
我需要保持当前的点击功能,以便我可以添加投票。我可以添加另一个来禁用它(使用cookie)。
答案 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嗅探,并且...