当前位置: 代码迷 >> Web开发 >> 如何会读取到别人的userid
  详细解决方案

如何会读取到别人的userid

热度:266   发布时间:2013-12-19 00:33:34.0
怎么会读取到别人的userid?
 登陆

  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是登陆后赋值的。怎么会读取到别人的数据?

------解决方案--------------------
使用session,不要用cookie
cookie是客户端的东西,对应的是站点或者说页面,你这种做法同一台电脑上多个用户名登陆就傻眼了,可能就出现看到别人的信息
session对应连接,才不会出错
------解决方案--------------------
对于 userid
从客户端到服务器
每个 访问的地方 全部打印出来 
------解决方案--------------------
用servlet的方法。直接在session里面取值。
在页头
<%LoginUser user = (LoginUser) request.getSession().getAttribute(“user”)%>

使用的时候和java一样
<%=user.getUserId()%>
------解决方案--------------------
用 cookie 敏感数据需要加密。

用户编号 无所谓,
------解决方案--------------------
获取页面地址 + 个随机数 试试.
------解决方案--------------------
你登录成功之后应该调用一次
HttpContext.Current.Response.Cookies["userid"].Value = userid;
Response.Cookies["userid"].Expires = DateTime.Now.AddDays(100);
记得这里的userid是登录成功后从数据库取出来的,不是客户端传过来的