我们可以使用 spring 安全性来避免会话劫持吗?
can we avoid session hijacking using spring security?
我们正在使用 apache tomcat 作为我们 Spring 基于 MVC 的 Web 应用程序的服务器。如果用户已经从浏览器登录,比方说 chrome,我们复制它的 JSESSIONID 并粘贴到另一个浏览器,比方说 Firefox,然后我们就可以访问分配给从 chrome 登录的特定用户的模块=15=] 给从 firefox 登录的那个。
我们如何使用 spring 安全措施来防止此类会话劫持?或者一般来说,为了摆脱会话劫持,我们应该编写哪些代码。谢谢!
我认为通过登录会话访问用户的浏览器不符合 "session hijacking" 的条件。您可以在设置 cookie 时使用 httpOnly
和 secure
标志来降低风险,因此它无法被 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 服务器
我们正在使用 apache tomcat 作为我们 Spring 基于 MVC 的 Web 应用程序的服务器。如果用户已经从浏览器登录,比方说 chrome,我们复制它的 JSESSIONID 并粘贴到另一个浏览器,比方说 Firefox,然后我们就可以访问分配给从 chrome 登录的特定用户的模块=15=] 给从 firefox 登录的那个。
我们如何使用 spring 安全措施来防止此类会话劫持?或者一般来说,为了摆脱会话劫持,我们应该编写哪些代码。谢谢!
我认为通过登录会话访问用户的浏览器不符合 "session hijacking" 的条件。您可以在设置 cookie 时使用 httpOnly
和 secure
标志来降低风险,因此它无法被 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 服务器