ajax频率过快session失效

By | 10月12日
Advertisement

ajax频率过快session失效

  • laravel 5
  • apache

Session存于Laravel file

在代码中,轮询过快,如30次/秒 ajax 请求,会导致 Session 失效

Google后发现国外同行业有类似问题,但我没找到答案。

也有其他解决方案,不存于file,存在redis可以解决该问题,我估计是IO引起~

大家有没有遇到类似情况?

描述

第一次出现该问题的时候还以为是版本问题,我已5.0升级5.1, 仍然出现下述情况。

很简单的一次重现,该页面有一个分页,是用ajax获取数据, 我开始点击页码,但不等ajax返回,继续点下一页页码,不一会儿出现了401

获取数据会对session的验证,只有登录用户才能获取数据,但获取数据逻辑没有任何session操作

ajax频率过快session失效

Github

有人反馈这个bug
bug

--cut--

kumfo在2015-12-28 19:53:31回答到:

我比较赞同@lialosiu 的回答,一般这种就是高并发造成文件锁死或没法读取,所以session失效了,可以考虑采用mencache这种方式存session来解决。

lialosiu在2015-12-28 07:20:37回答到:

Laravel 5.1.27 LTS 表示中招,应该是高并发的时候对session file处理的问题...不用file就能解决

DDTDDT在2015-10-13 16:17:35回答到:

是否能提供下老外遇到这个问题的描述链接?

Similar Posts:

  • CAS ajax 跨域请求登录、session失效问题

    假设有如下环境: s为使用了jasig cas开源软件的单点登录服务器,c1.c2为集成到s上的两个业务子系统. 现有需求 c1登录后发jsonp请求c2数据,如何处理登录.session失效问题: 假如c3子系统没有做集成,也发jsonp请求c2,如何处理上述问题: 类似sina微博提供api给第三方应用,需要认证是怎么处理的. --cut-- ae6623在2013-04-12 19:14:55回答到: 回答: 1.c1登录后发jsonp请求c2数据,如何处理登录.session失效问题 答

  • ajax异步请求,session失效处理

    后台拦截器代码: // 判断是否是AJAX请求 if (isAjaxRequest(request)) { log.info("AjaxRequest请求"); ActionContext ac = arg0.getInvocationContext(); HttpServletResponse response = (HttpServletResponse)ac.get(StrutsStatics.HTTP_RESPONSE); //返回前台的标志 response.setHeade

  • ext关于session失效的处理

    其实对于ext处理session失效其实也很简单,就是写一个过滤器.过滤器的写法其实也很简单,首先实现javax.servlet.Filter接口,重写Filter中的init(FilterConfig config),doFilter(ServletRequest request, ServletResponse response, FilterChain chain), destroy().相信大家看方法的名字便能知道这些方法的用处.其中过滤器的核心代码是在doFilter()方法中,在do

  • 在ajax请求时session变为空

    我操作的过程是这样的,首先,我将我的信息存储在session中,这里session的内容是存在redis中,然后直接利用ajax请求读取session中存储的信息,读取到的结果为null. 但是如果我不将session的内容存储在redis中,直接放在tomcat上,进行同样的操作,我能读取到我刚刚存在session中的信息,这是什么原因造成的?求教. 大致流程为: 1.index:setsession,此时读取属性信息正常,然后跳转到jsp页面. 2.jsp页面:初始化的时候,ajax请求,直

  • JSP容器下session失效的几种情况及应对

    JSP容器下session失效的几种情况及应对 昨天同事说起一个OA的项目,总是出现session失效的情况,我总结了曾经遇到的几种情况供他参考: 1. 浏览器长时间没有请求到后台,超过了web.xml中 <session-timeout>规定的时间. 应对:这种情况是应用意料之中的,后台检查到session失效之后,引导用户到登陆界面. 2.cookie超出限制,导致jsessionId丢失,进而导致session失效 在浏览器默认设置下,session机制是以保存在cookie中的jses

  • 配置session失效的三种方法

    设置session失效的几种方法 在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session. 具体设置很简单,方法有三种: (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效. 这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端.所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户

  • websphere中session失效问题

    最近做了一个项目,用到在线人数,在本地在线人数都是随着session失效或者关闭浏览器清除session而数量下降,但是到了websphere上面却人数一直往上飙,也不下降,愁的一米 web.xml <session-config> <session-timeout>10</session-timeout> </session-config> was上面也设置了session超时 现在就不知道是什么原因导致在线人数一直飙升

  • 跨站点Session失效问题

    如果在A网站引用B网站的页面,获得B网站的Session,但是从A站点跳转到B站点后,B站点的Session失效了! 无法获得原来的Session. 经过同事的努力查找,找到相应的解决办法,详细内容如下: http://support.microsoft.com/kb/323752/ (机器翻译的,极烂!) http://support.microsoft.com/kb/323752/en-us Session variables are lost if you use FRAMESET in

  • 当iframe的session失效时页面跳转到了登录页面

    当iframe的session失效时开始都只是iframe的页面跳转到了登录页面,而不是整个页面跳转,把下面的加入就可以了 在iframe的页面超时跳转的代码中添加如下代码 根据自己的代码去实现就可以,就是执行一个js 就OK了! Response.Write("<script type='text/javascript'>window.parent.location='login.aspx'</script>");

  • session失效,如何跳转回登录界面

    过滤器中已判断出session失效,并跳转回登录界面,但如何...... 过滤器中已判断出session失效,并跳转回登录界面......但登录界面是嵌在框架中的,如何在过滤器中实现让登录界面显示成整个页面,或者关闭浏览器,重新打开一个窗口,要在过滤器中实现. ------解决方案-------------------- 你在页面中将target设置成_top就可以了 ------解决方案-------------------- 如果是框架的子框架,那么session退出登录后登录页面显示全屏用

Tags: