我们可以避免使用Spring Security的会话劫持吗?



我们使用apache tomcat作为基于Spring MVC的Web应用程序的服务器。如果用户从浏览器登录,比如说 chrome,并且我们复制了它的 JSESSIONID 并粘贴到另一个浏览器中,比如说 Firefox,然后我们能够访问分配给从 chrome 登录的特定用户的模块到从 Firefox 登录的用户。

我们如何通过使用 Spring 安全性来防止这种会话劫持? 或者一般来说,我们应该编写哪些东西才能摆脱会话劫持。谢谢!

我不认为通过登录会话访问用户的浏览器符合"会话劫持"的条件。您可以在设置 Cookie 时使用httpOnlysecure标志来降低风险,因此 JavaScript 无法读取它,并且只会在安全通道 (HTTPS( 上转发。走到某人的计算机上并将cookie从一个浏览器复制到另一个浏览器是一个完全不同的主题,我认为您对Spring Security无能为力。

我这样做是为了使其安全和HttpOnly并且它起作用了。 Apache Tomcat 中的实现过程: 1( 打开 httpd.conf 文件。在文本编辑器中使用 CTRL + f 查找以下行:

#LoadModule headers_module modules/mod_headers.so

2( 删除 #

3( 在 httpd.conf 中添加以下条目

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

4( 重新启动 Apache HTTP 服务器

最新更新