asp.net 用户session与cookie的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 用户session与cookie的问题相关的知识,希望对你有一定的参考价值。

用Asp做一个网站,大部分页面需要用户登录后才能访问,并且需要在这些页面间传递用户的Id,现在的问题是对于cookie和session不知道用哪个好?我目前的理解是:
1、session的默认有效期是20分钟,我的有些页面,比如撰写文章的页面20分钟肯定是不够的,但是听说session很耗费服务器资源,又担心有效期设长了影响服务器工作效率(比如有很多人同时在线的情况)。
2、对于cookie不是很了解,听说如果浏览器的安全级别设置为高的话是无法写入cookie的,而且cookie的安全性不如session。
我现在很迷惑,具体问题如下:
1、最关键的问题是象这样每个页面都要验证用户是否登录的情况,而且有些页面需要停留较长的时间,应该用session还是cookie?最好请详细说明
2、现在有很多用Asp写的博客网站,可以停留很长时间在上面写文章,他们都用的是session还是cookie呢?3、我也听说session和cookie可以联合使用,那怎么使用呢?session和cookie都分别在什么时候用?

session和cookies各有各的试用范围。一般都是用session保存一些比较敏感的信息,比如用户名、密码、权限资料等等。而用cookies来保存一些公用的东西,比如用户名,登录时间,登录资料等等。session和cookies都可以设置有效期,你说的session默认20分钟,怕写文章的时候不够用,那么你可以用下面两种方法解决,一是延长session有效期,二是用ajax或者隐藏的iframe来个服务器通讯(心跳模式),这样一来就可以有效解决长时间不操作页面导致session丢失的问题。另外你说的怕session占用大量服务器资源的情况,这个一般不会有什么问题,服务器资源是和你的用户资源成正比的,比如你一开始有100个固定用户,那么你用台服务器就可以了,当你的用户上升到1000个的时候你肯定会购买新的服务器的,总的来说服务器资源是最容易解决的。 参考技术A 一般两个都要判断的,因为有的浏览器禁用Session那时就可以用Cookie...这样才好 参考技术B session保存一些比较敏感的信息比如用户名、密码、权限资料等等。cookies来保存一比如用户名,登录时间,登录资料等等。session和cookies都可以设置有效期,你可以将session设置为永不过期! 参考技术C 可以用session和cookie结合使用!不过还建议使用FormsAuthenticationTicket 登录验证票的方式!这是。net就有的机制,很好用!自己可以找资料看看! 参考技术D session是服务器端的,cookie是客户端(浏览器端的)。你可以使用Cache来存放用户登录信息。

asp.net用cookie保存密码

.net用cookie保存密码 如图就是登陆点保存登陆信息 他就自动保存~

假设用户ID文本框是TextBox1,用户密码文本框是TextBox2
HttpCookie mycookie1 = new HttpCookie("INFO_Login");
mycookie1.Values.Add("USERID", TextBox1.Text);
mycookie1.Values.Add("USERPSW", TextBox2.Text);
mycookie1.Expires = System.DateTime.Now.AddDays(1);
Response.Cookies.Add(mycookie1);
参考技术A 参考技术B 同意楼上,厉害

以上是关于asp.net 用户session与cookie的问题的主要内容,如果未能解决你的问题,请参考以下文章

在ASP.NET环境下怎样设置用户登录次数(session)

ASP.NET的Cookie和Session

android如何与asp.net服务端共享session

Asp.Net 遍历 循环 显示所有COOKIS,SESSION,Applocation

asp.net 30分钟内5次登陆错误,锁定账号。

asp.net用cookie保存密码