我们可以使用 spring 安全性来避免会话劫持吗?

can we avoid session hijacking using spring security?

我们正在使用 apache tomcat 作为我们 Spring 基于 MVC 的 Web 应用程序的服务器。如果用户已经从浏览器登录,比方说 chrome,我们复制它的 JSESSIONID 并粘贴到另一个浏览器,比方说 Firefox,然后我们就可以访问分配给从 chrome 登录的特定用户的模块=15=] 给从 firefox 登录的那个。

我们如何使用 spring 安全措施来防止此类会话劫持?或者一般来说,为了摆脱会话劫持,我们应该编写哪些代码。谢谢!

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

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

 #LoadModule headers_module modules/mod_headers.so

2) 删除#

3) 在 httpd.conf

中添加以下条目
Header edit Set-Cookie ^(.*)$ ;HttpOnly;Secure

4) 重新启动 Apache HTTP 服务器