2

我有一个投票系统,您不必登录,我想知道如何将其设置为他们每天可以投票一次的位置,无论是通过阻止 IP 还是类似的方式。我宁愿没有数据库

<script type="text/javascript">

var clicks = 0;
function linkClick(){
document.getElementById('clicked').value = ++clicks;
}

document.write('<a href="#" onclick="linkClick()">Vote Now!</a>');

$('#clicked').parent().bind('click', function(evt) {
$(this).unbind('click');   
/* do long time task....

evt.preventDefault();
});


</script>

You have clicked the link <input id="clicked" size="3" onfocus="this.blur();" value="0" > times

这段代码只会让用户投票一次,而且只有一次,我希望它是每 24 小时一次,并且在 html 中,提前谢谢你

4

2 回答 2

3

在 javascript 或 HTML 中以安全的方式实现这一点是不可能的。原因是,作为网络用户,我可以清除我的 cookie、打开新浏览器或以编程方式调用您的服务器,而无需使用您的用户界面。这意味着您需要服务器上的某些东西来阻止我在一天内实际提交两次,无论网页看起来如何。

我的建议是使用用户登录来验证用户没有发布两次。

于 2011-02-06T03:14:48.603 回答
0

您可以创建一个 cookie 并每天检查他们是否已经投票。虽然 JCO611 是正确的,但这很容易被绕过。我建议使用一些服务器端代码。

有关 javascript 中 cookie 的更多信息: http ://www.quirksmode.org/js/cookies.html

于 2011-02-06T03:13:37.233 回答