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

sessionId安全性

 
阅读更多

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"  />

 

 

 

分享到:
评论

相关推荐

    获取SessionID

    3. **安全性**:SessionID通常包含在Cookie或URL中,通过加密等手段提高安全性,防止会话被劫持。 #### 三、获取SessionID的方法 根据给定的部分内容,我们可以看到一个简单的Java示例代码片段,该片段展示了如何...

    tomcat8 session 共享

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

    cookie与session、sessionid

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

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

    总的来说,基于Session ID和Session ticket的会话恢复都是为了提供无缝的用户体验,同时平衡性能和安全性。Wireshark作为强大的网络封包分析工具,可以帮助我们深入了解这些过程,提升对网络安全的理解。通过分析抓...

    ASP.NET SessionId.rar

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

    Acct-Session-idAcct-Session-id

    - **安全性**:作为敏感信息的一部分,Acct-Session-id 的保护对于防止数据泄露和保障用户隐私至关重要。 ### Acct-Session-id 的生成与处理 Acct-Session-id 的生成通常遵循一定的规则和标准,例如,它可以是随机...

    PHP session会话的安全性分析

    然而,由于session会话通常包含了敏感数据,如用户登录状态、购物车信息等,因此确保session的安全性至关重要。以下是针对PHP session会话安全性的一些关键知识点: 1. **防止攻击者获取会话ID**: - 不要在URL中...

    session session session szsessdifn

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

    java中使用session模拟用户登陆

    在Java Web开发中,Session是服务器端用于跟踪用户状态的一种机制。...这时,Session就发挥了重要作用。本篇文章将详细讲解如何在...在实际应用中,需要注意合理配置和安全使用Session,以提高应用的安全性和用户体验。

    理解session机制

    这个Session ID通常是一个难以预测的长字符串,以确保安全性。服务器将Session ID通过响应(通常是Cookie)返回给客户端。客户端在后续的请求中会携带这个Session ID,使得服务器能够根据这个ID找到对应的Session。 ...

    Session的工作机制详解和安全性问题(PHP实例讲解)

    因此,在使用Session时,需要特别注意其安全性问题。 安全性问题包括以下几个方面: 1. Session固定攻击:攻击者诱导用户在登录后立即访问一个恶意站点,该恶意站点将用户的Session ID固定下来,当用户在登录状态...

    sessionsession

    - 安全性:Session相对更安全,因为数据不在客户端,不易被篡改。 - 存储量:Cookie存储量有限,一般不超过4KB;Session没有大小限制,但过多的Session会消耗服务器资源。 - 通信开销:Cookie每次请求都会发送给...

    Laravel中的Sessionid处理机制详解

    总结来说,Laravel 的 Sessionid 处理机制巧妙地结合了 Cookie 和加密技术,确保了会话的安全性和持久性。通过理解这一机制,开发者可以更好地掌控用户会话,提高应用的安全性。同时,原生 PHP 提供的 `session_name...

    php session操作类

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

    php5的session详解

    Session 的安全性至关重要,尤其是在处理敏感信息时。以下是几个提高 Session 安全性的方法: - **使用 HTTPS**:使用 HTTPS 协议可以加密传输的数据,保护 Session ID 不被截获。 - **定期更新 Session ID**:通过...

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

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

    验证码的session问题

    4. **安全性问题**: Session数据存储在服务器端,虽然相对安全,但如果不采取措施,可能会遭受SQL注入或XSS攻击。因此,要对Session数据进行加密存储,并限制Session数据的大小和类型。 5. **性能问题**:随着用户...

    session介绍

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

    一篇优秀Session讲解

    1. **安全性**:为了确保Session的安全性,应采取一些措施,比如使用HTTPS协议、定期更新Session ID等。 2. **性能优化**:对于大型网站来说,Session的管理和存储可能成为性能瓶颈。因此,开发者需要考虑采用分布式...

Global site tag (gtag.js) - Google Analytics