cookie保存IP防止重复投票

cookie对象完全名字是httpcookieCollection
Response.Cookies["变量名"].Value="表达式"//设置值

username=Request.Cookies["变量名"].Value//获取值

Expires属性:有效时间,若设为0则可以实时删除Cookie变量。

Name属性:Cookie变量的名称。

Value属性:Cookie变量的值。
cookie是可以删除的!
ip是可以动态的!你不用的时候,用了就是占资源
history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面

history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在

protected void Button1_Click(object sender, EventArgs e)
{
        //获取IP地址
        string UserIP = Request.UserHostAddress.ToString( );
        int VoteID = Convert.ToInt32(RadioButtonList1.SelectedIndex.ToString( ))+1;//在此处加1
        //Cookie对象声明并读取cookie,如果没投票则为null
        HttpCookie cookie=Request.Cookies["userIP"];
        //首先判断cookie有没有
        if (cookie == null)
        {
            //数据库执行,修改投票
            UpdateVote(VoteID);
            Response.Write("<script>alert('投票成功,谢谢您的参与!')</script>");
            //定义新的Cookie对象
            HttpCookie newCookie = new HttpCookie("userIP");
            //过期日期
            newCookie.Expires = DateTime.MaxValue ;
            //添加新的Cookie变量IPaddress,值为UserIP
            newCookie.Values.Add("IPaddress", UserIP);
            //将变量写入Cookie文件中
            Response.AppendCookie(newCookie);
            return;
        }
        else
        {
            //cookie有了以后判断ip是否相同
            string userIP = cookie.Values["IPaddress"];
            if (UserIP.Trim( ) == userIP.Trim( ))
            {
                Response.Write("<script>alert('一个IP地址只能投一次票,谢谢您的参与!');history.go(-1);</script>");
                return;
            }
            else
            {
                HttpCookie newCookie = new HttpCookie("userIP");
                newCookie.Values.Add("IPaddress", UserIP);
                newCookie.Expires = DateTime.MaxValue ;
                Response.AppendCookie(newCookie);
                //数据库执行,修改投票
                UpdateVote(VoteID);
                Response.Write("<script>alert('投票成功,谢谢您的参与!')</script>");
                return;
            }
        }
}


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值