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)对博主进行打赏。】
  • 相关阅读:
    double相加(減)结果会有些误差
    创建表,操作表
    删除数据库
    DDL语句
    HCDA-12-配置基本静态路由
    HCDA-11-配置直连路由
    1-5配置STelnet登录系统
    HCDA-9-管理设备文件系统
    HCDA-8-了解设备系统文件
    Java生成随机汉字
  • 原文地址:https://www.cnblogs.com/studyzy/p/65468.html
Copyright © 2011-2022 走看看