登陆  if (int.Parse(userid) > 0)
                      {
                          HttpContext.Current.Response.Cookies["userid"].Value = userid;
                          Response.Cookies["userid"].Expires = DateTime.Now.AddDays(100);
                      }
获取
 userid = HttpContext.Current.Request.Cookies["userid"].Value;
select * from table where userid=userid
有客户说登录后看到别人的数据。这个userid是登陆后赋值的。怎么会读取到别人的数据?

解决方案 »

  1.   

    使用session,不要用cookie
    cookie是客户端的东西,对应的是站点或者说页面,你这种做法同一台电脑上多个用户名登陆就傻眼了,可能就出现看到别人的信息
    session对应连接,才不会出错
      

  2.   

    对于 userid
    从客户端到服务器
    每个 访问的地方 全部打印出来 
      

  3.   

    用servlet的方法。直接在session里面取值。
    在页头
    <%LoginUser user = (LoginUser) request.getSession().getAttribute(“user”)%>使用的时候和java一样
    <%=user.getUserId()%>
      

  4.   

    用 cookie 敏感数据需要加密。用户编号 无所谓,
      

  5.   

    即使同一台电脑后面登陆的userid不会替换掉先前的userid?
      

  6.   

    你登录成功之后应该调用一次
    HttpContext.Current.Response.Cookies["userid"].Value = userid;
    Response.Cookies["userid"].Expires = DateTime.Now.AddDays(100);
    记得这里的userid是登录成功后从数据库取出来的,不是客户端传过来的
      

  7.   

    userid 当然是从数据库取出来的