.net中,session超时之后,怎么处理

问题描述

在.NET中,当session超时之后会出现一些意想不到的问题,所以想大家帮个忙,出个注意,看如何比较妥善地解决这个问题问题描述:.NET环境中,session超时之后,会导致一些程序上的漏洞目前可以想到的解决办法有1、加长session超时的时间在WEB.CONFIG中<sessionStatemode="InProc"stateConnectionString="tcpip=127.0.0.1:42424"sqlConnectionString="datasource=127.0.0.1;Trusted_Connection=yes"cookieless="false"timeout="240"/>但:不能彻底解决问题2、比较土的办法当Session超时后,只要用户刷新页面或是提交到后台就会检查session是否有效,如果已失效就提示session超时,然后跳转到login.aspx页面重新登录。但:比较麻烦,每个页面都要加上这个判断3、网上的办法在Global.asax中的Session_End()中加入判断语句if(Session["UserType"]==null){Response.Write("<script>alert('超时!请重新登录')</script>");Response.Write("<scriptlanguage=javascript>window.parent.location='../Login/RegisterLogin.aspx'</script>");}但:程序运行之后,没有起到作用啊!所以请大家帮帮忙,看如何处理比较好。我想的理想效果是要求要到超时时间后,前台浏览器自动弹出一个对话框提醒用户session超时了,然后点击“确定”之后自动转向首页。

解决方案

解决方案二:
用脚本吧  比如session=30脚步每30分执行一次 读取session的值如果空弹出一个对话框提醒用户session超时了,然后点击“确定”之后自动转向首页
解决方案三:
functiondomain(){//读取session//如果空弹出一个对话框提醒用户session超时了,然后点击“确定”之后自动转向首页}varInt;Int=setInterval("domain()",1800);//其中100为时间,1秒=1000.是这样的?你给的分太少了 抠门!!
解决方案四:
比较好的做法是自己做个回调,每过一段时间去提交一次server,这样就不会session过期了

时间: 2024-11-17 19:14:49

.net中,session超时之后,怎么处理的相关文章

php中session超时严格控制实例

第一种回答 那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下: 1. 首先, 这个PHP是用一定的概率来运行session的gc的, 也就是session.gc_probability和session.gc_divisor(介绍参看 深入理解PHP原理之Session Gc的一个小概率Notice), 这个默认的值分别是1和100, 也就是有1%的机会, PHP会在一个Session启动时, 运行S

Web 开发中 Ajax 的 Session 超时处理

在 Java Web 开发中,当session超时的情况下,普通页面的跳转好处理.关于Ajax的请求超时处理,就需要特殊处理下了. 先写一个统一的过滤器,或者拦截器,针对Ajax请求进行过滤处理,下面示例以Filter为例: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServ

Php中设置Session超时时间登录时间限制

第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini_set函数改变当前上下文环境的属性值:  代码如下 复制代码 ini_set('session.gc_maxlifetime', "3600"); // 秒 ini_set("session.cookie_lifetime","3600"); // 秒 第二种方法即设置Sessi

ASP.NET中Session的状态保持方式浅议

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

浅议ASP.NET中Session的状态保持方式

asp.net|session ASP.net提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

ASP.NET中Session的状态保持方式

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件:在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等.    在ASP.NET的

ASP.NET中Session状态保持方式浅议

ASP.net提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中要使用Session对象时,必须

关于java中Session的过期问题

问题描述 1.判断一个session是否为空:if(session==null){}这样算不算使用了session?这样问可能不是很清楚,那么详细些.session都有过期时间吧,那么应该是在session被创建的时候就有一个计时器,这个时间达到过期时间的话就销毁这个session如果用这句if(session==null)会不会重置这个计时器?2.可不可以在session过期的时候执行一段代码,即像filter的destroy方法一样?请大家帮帮忙,谢谢,如果上述有什么不对之处,请赐教. 解决

关于session超时的问题

问题描述 请问一下,如果我在页面中有一个javascript的定时器,每10秒执行一次.如果用户长时间未操作的话,session是否会超时呢?没有定时器过了那个设置的session超时时间肯定会提示登录超时. 问题补充:andilyliao 写道 解决方案 这样得自己做一个假的超时了 你每次用户提交的时候都把后台的一个守护线程中的一个数设置为1000 然后这个线程自己每个一个步长时间减1 等到减没了把session清除 也就这样办了 呵呵解决方案二:引用这样得自己做一个假的超时了 你每次用户提交