zoukankan      html  css  js  c++  java
  • 投票系统如何防止一个用户多次投票

    最简单的方法就是在用户投票以后记录下一定信息,每次投票时就检测这个特定信息是否存在。实现的方法我想到了3种,具体如下:
    1,用Page.Session;
      private void saveInSession()
      {
       if(Page.Session["ok"]==null)
       {
        Vote();
        Page.Session["ok"]=1;
       }
       else
       {
        NoVote();
       }
      }
    2,用Request.Cookies;
      private void saveInCookie()
      {
       if(Request.Cookies["ok"]==null)
       {
            Vote();
            HttpCookie cookie = new HttpCookie("ok");
            cookie.Values.Add("visit","1");
            cookie.Expires = DateTime.Now.AddYears(1);
            Response.AppendCookie(cookie);

       }
       else
       {
        NoVote();
        }
      }
    3,用Page.Cache;
    private void saveInCache()
      {
       if(Page.Cache["ok"]==null)
       {
        Vote();
        Page.Cache["ok"]=1;
       }
       else
       {
        NoVote();
       }
      }
    要做复杂点也可以把用户的ip记录下来,写入数据库,在投票前先查看数据库是否有投票记录,这个方法就复杂多了,但是可以避免前几种用户关掉页面又进入可以投票的问题。
    若大家还有什么更好的方案请回帖。

    【本文章出自博客园深蓝居,转载请注明作者出处,如果您觉得博主的文章对您有很大帮助,欢迎支付宝(studyzy@163.com)对博主进行打赏。】
  • 相关阅读:
    Linux命令:mapfile
    Linux命令:logout
    行式数据库和列式数据库的浅析
    hadoop常见错误集锦
    hadoop环境搭建遇到问题集锦
    杀毒的一点学习
    powerdesigner的学习
    突然的想法
    shell脚本入门教程(转)
    java classpath深入详解(转)
  • 原文地址:https://www.cnblogs.com/studyzy/p/65468.html
Copyright © 2011-2022 走看看