怎么会读取到别人的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是登录成功后从数据库取出来的,不是客户端传过来的