用清除cookies的方式实现防止重复投票,值得收藏学习!

用清除cookies的方式实现防止重复投票,值得收藏学习!基本思想:点击投票按钮后,如果投票用户是第一次投票,即在cookie中查找不到该投票用户的标识,则把投票用户标识记录到cookie中,同时设定cookie过期时间,这个时间可以限制用户多长时间内不能重复投票,然后把投票数加1;如果用户重复投票,由于在cookie中已存在该用户的标识,在cookie没过期的情况下则提示已投票。
        缺点:可以用清除cookie的方法重复投票。
        代码如下:

<html>
<head>
  <title>防止重复投票</title>
  <script language="javascript" type="text/javascript">
  //cookies基本操作对象
    var cookies={
       read : function(n){//名字  读cookies
            var dc = "; "+document.cookie+"; ";
            var coo = dc.indexOf("; "+n+"=");
            if (coo!=-1){
                var s = dc.substring(coo+n.length+3,dc.length);
                return unescape(s.substring(0, s.indexOf("; ")));
            }else{
                return "";
            }
        },
        set : function(name,value,expires)http://www.aivtp.com/{//名字 值 过期时间  写cookies
            var expDays = expires*24*60*60*1000;
            var expDate = new Date();
            expDate.setTime(expDate.getTime()+expDays);
            var expString = expires ? "; expires="+expDate.toGMTString() : "";
            var pathString = ";path=/";
            document.cookie = name + "=" + escape(value) + expString + pathString;
        },
        del : function(name){//名字 删除cookies
        value=""
        expires="0"
            var expDays = expires*24*60*60*1000;
            var expDate = new Date();
            expDate.setTime(expDate.getTime()+expDays);
            var expString = expires ? "; expires="+expDate.toGMTString() : "";
            var pathString = ";path=/";
            document.cookie = name + "=" + escape(value) + expString + pathString;
        }
    };
var count=0;//记录投票数
function vote()
{
    var name = document.getElementById("txtName").value;
    if(cookies.read(name))
    {
        alert("你已经投过票了,明天继续吧.");
    }
    else
    {
        count++;
        document.getElementById("txtCount").value = count;
        cookies.set(name,"voted",1);//
    }
}
  </script>
</head>
<body>
   <input type="text" id="txtName" value="xiaoming" />
   <input type="button" value="投票" οnclick="vote();" />
     <div>投票数:
      <input type="text" id="txtCount" value="0" readonly="readonly" />
     </div>
</body>
</html>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值