`
rw8802
  • 浏览: 1154 次
社区版块
存档分类
最新评论

Session Id安全

阅读更多

session id 安全性问题

 

最一般的方法是自己管理session id

 

1. 用户login后,在后台加密出一个accessToken,并返回给用户。

2. 客户端接收到accessToken,可以将它存起来,web的话可以存在session storage,手机也可以保存accessToken,用于单点登录。

3. 同时,服务器会保存一份accessToken的相关信息在服务器,如:deviceId,IP,accessToken,loginTime,logoutTime,userId,userAgent等等。

3. 每次请求API都会将accessToken提交给服务器,服务器比较accessToken,看是否正确是否超时,如果成功就执行业务。

 

 

用Spring Security(适合CMS)

 

1. session id 由Spring Security创建。

2. 然后发送给客户端,然后保存在浏览器的cookie中。

3. 每次请求都将cookie发送到服务器,然后检查正确性和是否超时。

4. 这种方法要在Tomcat设置httponly和secure。(防止XSS攻击)

 

 

HttpOnly:

如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。

 

配置:

tomcat/conf/ 下找到context.xml修改<Context useHttpOnly="true">

 

secure

当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。

 

配置:(一般和HTTPS的证书一起使用)

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" 

               keystoreFile="/usr/local/tomcat7/server.keystore"

               keystorePass="Envisi0n"  />

 

该内容为转载,源博客地址:http://youyu4.iteye.com/blog/2335405

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    URL中允许携带sessionid带来的安全隐患分析

    URL中携带sessionid是一种常见的技术手段,主要用于在浏览器禁用cookie时,依然能够维持用户的会话状态。然而,这种做法虽然在某些...通过这些多层面的努力,可以有效降低通过URL携带sessionid带来的钓鱼等安全隐患。

    获取SessionID

    ### 获取SessionID方法详解 在Web开发中,Session是一种常用的技术,...在实际开发中,开发者应根据项目需求选择合适的获取SessionID的方式,同时注意Session的安全性和有效性管理,确保用户数据的安全和隐私保护。

    Acct-Session-idAcct-Session-id

    2. **审计与监控**:通过跟踪 Acct-Session-id,管理员可以对用户的网络活动进行审计,监控网络资源的使用情况,确保网络安全和合规性。 3. **问题排查与故障定位**:在遇到网络故障时,Acct-Session-id 可以帮助...

    cookie与session、sessionid

    ### Cookie与Session、SessionID详解 #### 一、引言 在现代Web开发中,保持用户的会话状态是一项基本需求。传统的HTTP协议是无状态的,这意味着每一次客户端发起的请求都是独立的,服务器无法直接识别出请求来自...

    tomcat8 session 共享

    - **Session ID安全性**:防止Session Hijacking攻击,定期更换Session ID。 - **Session同步**:在多服务器之间同步Session数据时,要注意并发控制,避免数据冲突。 总的来说,Tomcat8的Session共享是一个涉及网络...

    基于 Session ID 和 Session ticket 的会话恢复的抓包示例

    然而,这种基于Session ID的会话恢复存在一定的安全风险,比如Session ID可能被嗅探或窃取,导致会话劫持。 为了解决这些问题,SSL/TLS协议引入了Session ticket。Session ticket是一种加密的数据结构,由服务器...

    session session session szsessdifn

    4. 安全性:Session信息存储在服务器端,相对安全,但若Session ID被窃取,可能会导致安全性问题。 5. 依赖客户端:如果用户禁用了Cookie,或者使用了隐私模式,Session的实现会受到影响。 为了克服Session的一些...

    java中使用session模拟用户登陆

    应尽量避免在URL中传递Session ID,定期更新Session ID,以及启用HTTPS等安全措施。 总结,Java中的Session是Web开发中重要的用户状态管理工具,它帮助我们在服务器端保持对用户登录状态的跟踪,确保了用户交互过程...

    ASP.NET SessionId.rar

    2. **安全性**:虽然SessionId本身不包含敏感信息,但它可以被用来追踪用户会话,因此需要防止被恶意利用。ASP.NET通过加密和安全的传输方式来降低风险。 3. **可配置性**:开发人员可以自定义SessionId的生成策略、...

    做一个共享浏览器,把seesion克隆到异地

    2. **传输Session信息**:将捕获到的Session ID安全地传输到另一台设备。这可能涉及加密和身份验证机制,以防止中间人攻击。 3. **设置请求头**:在目标设备的浏览器中,我们需要创建一个代理或者扩展,使得每次...

    php中session_id()函数详细介绍,会话id生成过程及session id长度

    $sessionId = session_id(); echo '当前会话ID为: ' . $sessionId; // 存储和读取会话数据 $_SESSION['username'] = 'John Doe'; echo '用户名: ' . $_SESSION['username']; ?&gt; ``` 在这个例子中,首先我们通过 `...

    sessionsession

    之后,每当客户端发送请求时,都会将这个Session ID一起发送回去,服务器通过识别这个ID来找到对应的Session数据,从而追踪用户的状态。 2. **Session的创建与销毁** 创建Session通常是通过编程语言中的特定API...

    ASP.NET Core-Session

    2. **安全性**:避免在Session中存储敏感数据,因为Session可以通过Cookie在客户端和服务器之间传递。确保设置`HttpOnly`以防止XSS攻击。 3. **生命周期管理**:设置合理的`IdleTimeout`以控制会话过期时间,防止...

    android获取web服务器端session并验证登陆

    - 身份验证:除了Session ID,还可以结合Token或其他验证机制提高安全性。 总之,Android应用获取Web服务器的Session并进行登录验证,涉及到网络请求、数据交换以及身份验证等多个环节。理解这些原理并正确实现,...

    session实验

    5. **安全性**:实验可能探讨了防止Session劫持和Session固定攻击的方法,如使用HTTPS传输Session ID,定期更新Session ID,限制Session ID的长度和复杂性,以及对敏感操作进行二次验证。 6. **性能优化**:在高...

    基于MD5和Session的PHP安全防范.pdf

    因此,需要采取相应的安全措施来防止Session的泄露,例如使用MD5算法对SessionID进行加密,以提高安全性。 本文讨论了基于MD5和Session的PHP安全防范,通过对Session欺骗和攻击的手段分析,结合MD5函数,提出了一个...

    验证码的session问题

    验证码的Session问题主要涉及到Web应用中的用户验证与安全机制。在Web开发中,验证码是一种防止自动机器人或恶意脚本进行非法操作的有效手段,如防止批量注册、刷票等。而Session是服务器端用来存储用户会话信息的一...

    php session操作类

    7. **安全措施**:为了提高安全性,类可能包含了防止Session Hijacking(会话劫持)和Session Fixation的策略,例如定期更新Session ID,检查IP地址或User Agent变化等。 8. **自定义存储机制**:除了标准的文件...

    session介绍

    如果客户端支持Cookie,服务器会将Session ID作为一个名为"SESSIONID"(或其他类似名称)的Cookie发送给浏览器。如果客户端禁用了Cookie,服务器则可能通过在URL后面附加Session ID(如`...

    php5的session详解

    - 参数 `$id` 用于指定新的 Session ID,如果不提供参数,则返回当前的 Session ID。 - **`$_SESSION[$name] = $value;`**:设置 Session 变量。 - 通过 `$name` 指定变量名,通过 `$value` 设置对应的值。 - **`$...

Global site tag (gtag.js) - Google Analytics