问题描述
一直做的是后台管理系统,过个一会session失效重新登陆。最近想做一个购物网站,想问下这里的登陆怎么做得。我百度了下,没有理想的session一直保存。举例子,淘宝的登陆是怎么做得。
解决方案
解决方案二:
用cookie做呗
解决方案三:
cookie做的.但是虽然登陆了,也是假登陆.因为你需要购买东西,或者添加东西到购物车的话.需要重新输入密码.
解决方案四:
这个问题以前我也遇到过,找不到原因,改cookie了.Response.Cookies["loginName"].Value=tbName.Text;//将值写入到客户端硬盘CookieResponse.Cookies["loginName"].Expires=DateTime.Now.AddDays(1);//设置Cookie过期时间使用:if(Request.Cookies["loginName"]==null)//从客户端读取cookie值{Response.Write("<script>top.location='login.aspx';</script>");//非法登录}
解决方案五:
看了大家的回复,看来必须用cookie了。谢谢了
解决方案六:
用COOKIE做比较容易点。也可以用SESSION做,不过SESSION做的话,得先设置好过期时间、进入页面的时候要判断SESSION是否存在,事比较多。COOKIE相对就方便很多啦。
解决方案七:
引用3楼aigel的回复:
这个问题以前我也遇到过,找不到原因,改cookie了.Response.Cookies["loginName"].Value=tbName.Text;//将值写入到客户端硬盘CookieResponse.Cookies["loginName"].Expires=DateTime.Now.AddDays(1);//设置Cookie过期时间使用:if(Request.Cookies["loginName"]==null)//从客户端读取cookie值{Response.Write("<script>top.location='login.aspx';</script>");//非法登录}
如果这样搞,稍微懂点浏览器调试或者脚本的人,就不用密码也可以随便登录了!
解决方案八:
至少,你的所谓cookie中保存的是由服务器端随机产生的一长串编号,基本上全世界不可能有重复的,这通常叫做uuid。然后在你的数据库中记录此编号对应的用户授权信息、购物车信息,等等信息。如果程序已经开发完毕验证通过,你可以再将这些信息在服务器上进行Cache,以缓解数据库系统太慢和太卡的问题。
解决方案九:
用cookie,如果访问量大,session还有性能问题