ASP程序中Session的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:04:23
我想知道大多数网站的Session问题都是怎么解决的? 我在服务器把回话超时改的很小,以达到节省资源的目的。这样一来就出现了个问题,Session很快就失效了,然后用户不得不重新登陆。我希望大家能给我个解决办法(服务器的设置不变),我自己想到一种是利用cookies让用户重新登陆,不过感觉不太理想.所以求助大家能提供一个好的、可行的解决办法
这个东西最好是不用cookies 因为里面有些安全性的信息,所以不是万不得以是不会用的 我上面说的只是在cookies中保存用户名和密码让他重新登陆

还有就是 请大家看清我写的再回答好么

在2003系统中,不管你SESSION时间设置成多长时间,SESSION有时都会很快失效,因为2003里有个回收的功能,一回收,就没了。

关于这问题我以前写过一种SESSION和COOKIES结合的办法,安全上也没有问题,主要原理是:
SESSION:保存用户登录信息,如:用户ID,用户名等等,
COOKIES:保存用户ID和登录时的特证码,特证码生成的方法是 用户名+密码+登录时间 通过MD5加密生成一个字段串,此字符串同时保存到此用户ID对应的字段里。

当SESSION失效时,获得COOKIES的两个值,如果特证码和数据库里一样,说明是正常登录,程序再次给SESSION赋值,否则退出重新登录。
这里COOKES的ID和特证码要进行过滤,防止注入。

用个页面刷新
使用Response.IsClientConnected属性来获得浏览器是否连接 不连就把他搞掉
http://www.hackhome.com/InfoView/Article_105560.html

可以考虑用户登陆后的信息放在cookies里
cookies("username")=username
response.cookies.expires=time
设置cookies过期时间

修改IIS的配置,把Session timeout的时间改成:200(默认为20)