`
Supanccy2013
  • 浏览: 220778 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

不断刷新页面的session超时控制

阅读更多
注:原创作品,转载请注明出处


解决方案:
1,在页面元素加载之前,定义js计时器,并赋值为0;
2,在页面元素加载之前,绑定body的鼠标单击事件处理函数--每次鼠标单击body都重新赋值计时
   器为0;
3,在html中body中定义一个隐藏域,值为服务器上session的最大时间。
4,在页面元素加载完毕后,启动session超时监听器:该监听器实现的功能是:
   获取页面上隐藏域的session的最大超时时间,
   比较计数器和session最大值,如果计时器的数值小于session的最大时间则,计数器+1,重新
   调用session监听器,  如果计数器的数值大于等于session的的最大时间,则调用dwr或ajax
   让后台的session失效


实例:
<html>
  <head>
	<script type="text/javascript">
	   //定义计时器
	   var monitorCount = 0;
	   
	   //绑定body的onclick处理函数
	   document.body.onclick = function()
	   {
		   if(typeof bodyOnClickFunction == 'function')
		   {
			   bodyOnClickFunction();
		   }
	   }
	   
	   //body的单击处理函数
	   function bodyOnClickFunction()
	   {
		   resetTimeoutCount();
	   }
	   
	   //重置计数器为0
	   function resetTimeoutCount()
	   {
		   monitorCount = 0
	   }
	   
	   var timeOutFunction = "sessionTimeOutMonitor()";
	   
	   function sessionTimeOutMonitor()
	   {
		   var sessionTimeCount = document.getElementById("sessionTimeCount").value / 60;
		   
		   if(monitorCount < sessionTimeCount)
		   {
			   monitorCount++;
			   setTimeOut(sessionTimeOutMonitor,60 * 1000);
		   }
		   else
		   {
			   //调用ajax或者dwr调用使后台的session失效
		   }   
	   }
	</script>
  </head>
  <body onload="sessionTimeOutMonitor();">
     <input type="hidden" value="从服务器上获取session的最大超时数值" id="sessionTimeCount"/>
  </body>
</html>
分享到:
评论

相关推荐

    JSPsession超时提示

    ### JSP Session超时提示知识点解析 #### 一、背景介绍 在Web应用程序中,`session` 是一种常用的技术手段,用于保存用户的状态信息。它能够帮助开发者在多个页面请求之间保持用户的数据一致性。然而,为了提高安全...

    .net解决了防止用户重复登陆,session超时

    接下来,我们设定Session超时为1分钟,并启用无Cookie模式: ```xml &lt;sessionState mode="InProc" cookieless="true" timeout="1" /&gt; ``` 启用页面跟踪以方便调试: ```xml ``` 在`Global.asax`文件中,我们...

    Web 开发中Ajax的Session 超时处理方法

    在Web开发中,Session超时处理是一个常见的需求,特别是在用户长时间无操作或系统设定的特定时间后,为了保护用户的数据安全,系统会自动结束用户的会话。对于传统的HTTP请求,服务器端可以通过重定向来提示用户重新...

    重写 ajax 实现 session 超时跳转到登录页面实例代码

    在传统的HTTP请求中,可以通过后端过滤器实现Session超时的检测和处理,但在使用Ajax进行异步通信时,由于请求不会刷新整个页面,因此需要特别处理。 1. **Session过滤器**: 在Java Web应用中,我们通常使用...

    java控制页面刷新频率

    然后检查session中是否存在"bj"属性,如果存在,则计算当前时间与上次访问时间的差值,如果这个差值小于1500毫秒,则通过注释中的`alert`语句提示用户不要频繁刷新页面,实际上这里通过`return`语句直接终止了后续...

    thinkphp5.0-php登录超时检测功能的类

    2. 在受保护页面顶部检查Session的有效性,超时则清除Session并重定向至登录页面。 3. 使用JavaScript辅助检测,通过定时发送心跳请求来及时刷新登录状态。 通过以上方法,我们可以确保用户在长时间无操作后被安全...

    session生命周期的设置

    2. **配置文件设置**:在Web应用的`web.xml`配置文件中,可以使用`session-config`元素来全局设置Session的超时时间,如: ```xml &lt;session-config&gt; &lt;session-timeout&gt;30&lt;/session-timeout&gt; &lt;/session-config&gt; ```...

    session过期问题

    1. **设置Session超时时间**:在服务器端,可以通过配置Web服务器或应用服务器的Session超时时间来控制Session的生命周期。例如,在Java Web应用中,可以在web.xml配置文件中设定`&lt;session-config&gt;`的`&lt;session-time...

    服务器session丢失

    8. **利用iframe维持Session**:通过定时刷新iframe,使浏览器每隔一段时间与服务器通信,防止Session超时。 此外,还有一种方法是使用Cookie来替代Session存储用户信息,但这可能增加安全风险,因为Cookie可以通过...

    php登录超时检测功能的类

    - `checkTimeout()`:检测当前Session是否已超时,如果超时则执行相应的处理,如跳转到登录页面。 - `refreshSession()`:在用户有活动时调用,更新Session的过期时间。 5. **应用到其他框架**:将这个思路应用到...

    Session Timeout需求解決

    为了提供良好的用户体验,通常会在用户有操作时刷新Session的超时时间。例如,当用户滚动页面、点击按钮或者提交表单时,服务器可以通过更新Session最后访问时间来延长其有效期。 再次,安全层面的考虑。过短的Time...

    ASP技巧收集-防asp超时

    一种简单有效的方法是利用JavaScript定时刷新页面或调用一个特定的ASP脚本来检查会话的有效性。这种方法的核心思想是在用户不进行任何操作的情况下,每隔一段时间就自动向服务器发送一次请求,以此来延长会话的有效...

    day18 监听器 统计在线人数,定时销毁超时session,钝化活化session,在线列表显示和踢人功能防止用户自动登录,在线支付

    在用户请求每个页面之前,检查其session是否有效,无效则跳转到登录页面。对于可能存在的并发登录问题,可以通过记录用户的登录状态,一旦检测到新的登录尝试,就强制登出旧的会话。 最后,关于在线支付,这是一个...

    Java 使用HttpClient保持SESSION状态

    在实际项目中,可能还需要处理重定向、超时、错误处理等复杂情况。注意,对于HTTPS站点,可能需要配置SSLContext和TrustManager,以允许HttpClient信任自签名证书或特定的CA。 此外,`WebRoot`和`src`目录通常是Web...

    使用session保持登陆状态

    3. **保持状态**:当用户刷新页面或访问其他受保护的页面时,浏览器会自动将`JSESSIONID`cookie附带在HTTP请求头中发送给服务器。服务器接收到请求后,通过session ID查找对应的session数据,确认用户已登录状态。 ...

    asp保持SESSION变量不过期

    1. **修改Session超时时间**:在ASP的Global.asa文件中,可以设置Session对象的Timeout属性,来延长Session的生存期。例如,将Timeout设为60,表示Session将在60分钟后过期,而不是默认的20分钟。代码如下: ```...

    一个严格的PHP Session会话超时时间设置方法

    在php.ini配置文件中,有专门用于控制会话超时的参数:session.gc_maxlifetime和session.cookie_lifetime。 - session.gc_maxlifetime是指垃圾回收机制认为会话可以存在的时间上限,单位是秒。默认值为1440秒,即24...

    在线人员 ajax聊天室 关闭浏览器和登出控制使session失效

    【在线人员ajax聊天室】是一种实时通信技术的实现,它基于JavaScript的Ajax(异步JavaScript和XML)技术,使得用户无需刷新页面就能实时更新聊天内容,提供流畅的用户体验。Ajax的核心在于通过XMLHttpRequest对象与...

    跨域共享session (实现http跳转https 共享session)

    3. **定期刷新session**:设置合理的session超时时间,并在用户活动时更新session的最后活跃时间,提高安全性。 综上所述,跨域共享session涉及到多个技术层面,包括浏览器限制、服务器配置、前端处理和安全措施。...

Global site tag (gtag.js) - Google Analytics