`

强制创建新session

    博客分类:
  • jsp
阅读更多
解决一个bug,关于限制在线人数的

利用session 的创建跟销毁,在用户退出时候发送一个请求道jsp 销毁session,用户的id存于session中,
利用定时刷新保持session,
后发现同一个同一个浏览器非法退出再登陆时,用的是同一个session,导致用户非法推出登陆十次,却只有一个session的情况
解决时在用户登陆时,强制判断该用户的session是否为isNew(),不是就销毁,强建一个新session (reqeust.getSession(true))

分享到:
评论

相关推荐

    面试综合整理版(大全).doc

    request.getSession(true)强制创建新session。 11. Page和PageContext的区别:Page代表当前JSP页面的Java对象,PageContext提供访问所有JSP上下文属性的途径,包括四个作用域(request, session, application, page)...

    javaWeb练习题.docx

    - 在Servlet中,通过HttpServletRequest的getSession()方法获取Session,无参数版本表示如果没有现有Session则创建新的,带参数false表示没有Session时返回null,true则强制创建新Session。 5. **JSP内置对象**: ...

    快速杀死oracle的session

    - 或者创建一个批处理文件`kill.bat`,自动执行上述操作。 ```batch @echo off set ORACLE_HOME=路径 set ORACLE_SID=实例名 sqlplus / as sysdba select 'orakill'||sid||' '||spid as thread from sys.v_...

    NET的csharp的session丢失sessionid不一样

    这涉及到创建一个新的类来实现`System.Web.SessionState.SessionStateStoreProviderBase`接口,并重写其中的一些方法以满足特定的需求。这种方式更为复杂,但在某些场景下可能更为有效。 4. **检查浏览器设置**: ...

    cookie_session知识点

    当服务器找不到客户端的jsessionid或者对应的Session过期或已被销毁,服务器会创建新的Session对象。 2. **创建时机**: - 第一次请求时,如果请求头中没有jsessionid,服务器会创建新Session。 - 如果客户端提交...

    IE8串session的解决方法

    而通过以上方法,我们可以强制IE8为每个窗口创建独立的Session ID,达到隔离的效果。 在实际应用中,比如在企业环境中,员工可能需要同时登录多个系统,每个系统需要独立的用户身份,这时解决IE8串Session的问题就...

    .net C# 通过session控制重复登录及在线用户统计

    - **强制登出**:销毁当前`Session`,并允许新登录,这样可以防止同一用户在多个设备或浏览器窗口同时登录。 - **多设备支持**:允许用户在多个设备上同时登录,但限制某些操作(如修改密码)只能在一个会话中进行...

    Hibernate_Session_Transaction

    - **使用native生成器**:在某些情况下,如使用native生成器创建新记录时,`Session`会立即清理缓存,将对象写入数据库。 `Transaction`接口是`Session`进行数据库事务管理的接口。主要方法包括: - `begin...

    在线监控Session(超简单)

    2. **防止Session固定攻击**:生成新的Session ID并替换旧的,以防止攻击者通过已知的Session ID接管用户会话。 3. **监控Session数量**:限制每个用户可以打开的并发Session数量,防止资源被滥用。 4. **日志记录...

    session实现登录工程

    例如,为了防止session hijacking(会话劫持),可以设置session过期时间,强制用户定期重新登录;也可以使用HTTPS协议加密通信,保护session ID不被窃取。 总的来说,session在登录工程中起到了关键作用,它维护了...

    session在httphandler失效

    ASP.NET的Session是基于cookie的,当一个用户访问网站时,服务器为该用户创建一个唯一的SessionID,并将其通过cookie返回给客户端。之后,每次请求时,客户端都会将这个SessionID回传给服务器,以便服务器识别并检索...

    session_demo.zip

    `getSession(true)`和`getSession(false)`分别表示强制创建新会话和只返回已存在的会话。 2. **设置和获取属性**:通过`setAttribute(String name, Object value)`方法可以将对象绑定到会话,而`getAttribute...

    学习SessionBean

    - **实例化**:当客户端首次请求SessionBean时,EJB容器会创建一个新的实例。 - **激活**:客户端调用SessionBean的方法,Bean进入活动状态。 - **被动使用**:如果客户端一段时间内未调用Bean,容器可能会将其置于...

    hibernate session生命周期示例

    1. **创建Session**: 当我们调用`SessionFactory.openSession()`方法时,一个新的Session实例就会被创建。SessionFactory是一个线程安全的单例对象,它根据Hibernate配置文件生成。创建SessionFactory通常在应用...

    Laravel开发-session-tokens

    如果验证成功,服务器会创建一个新的Session,并更新用户的状态为已登录。 三、安全性与管理 1. **Token安全**:"remember_token"应该具有足够的长度和复杂性,以防止被破解。Laravel默认生成的Token通常足够安全...

    php5的session详解.doc

    - `session_regenerate_id()`:生成新的session_id,用于防止session固定攻击,即强制用户重新登录。 - `session_set_cookie_params()`:设置session cookie的参数,如生命周期、路径、域等。 为了安全起见,应定期...

    spring Session与Redis的jar包

    4. **替换默认的HttpSession**:Spring Session会自动处理HttpSession的创建、读取、更新和删除操作,你可以通过`@Override`方法来定制Session的行为。 5. **测试与调试**:创建一个简单的Controller,模拟用户登录...

    有关session

    Session的工作原理是:当用户第一次访问服务器时,服务器会在服务器端创建一个Session对象,并生成一个唯一的Session ID。这个ID通过响应头中的Set-Cookie返回给客户端(通常是浏览器),浏览器将其存储为Cookie。...

    session 问题探讨

    1. **创建Session**:当用户首次访问Web应用程序时,服务器会创建一个新的Session,并为该Session分配一个唯一的标识符(Session ID)。 2. **发送Session ID**:服务器通过Cookie或者URL重写的方式将Session ID发送...

    Laravel开发-session

    此外,还可以创建自定义中间件来实现特定的Session逻辑,如强制检查用户是否登录。 6. **Flash数据** Flash数据是一种特殊类型的Session数据,只在当前请求和下一个请求之间有效。使用`session()->flash('key', '...

Global site tag (gtag.js) - Google Analytics