4

我听说有些人认为在会话中将信息存储在服务器上是一个坏主意,因为它不安全。

因此,在多页业务流程功能中,应用程序将数据写入数据库,然后在需要时检索信息。在会话中存储私人信息是否必然不安全?

4

3 回答 3

7

只要会话本身不被劫持,在会话中存储属性就没有安全风险。

有一些涉及并发和会话的严重问题。由于多个线程同时为单个会话发出请求非常常见,因此您必须确保存储在 Session 中的对象是线程安全的。要么使它们不可变,要么通过同步等内存屏障使它们成为线程安全的。我强烈推荐Brian Goetz 撰写的关于该主题的文章

于 2008-12-04T04:16:40.440 回答
4

HTTP 会话本身并不是不安全的。但是,根据您的应用程序服务器/容器,将会话 cookie 传递回浏览器的机制(以及缺乏传输层安全性 - SSL)可能允许恶意方执行各种攻击(跨站点脚本、会话劫持) , ETC。)。我会花一些时间研究这些东西以及 SQL 注入,以了解使用 HTTP 会话的全部后果。如果您的应用程序在防火墙内运行,则通常存在比这更大的安全风险,例如社会工程。

于 2008-12-04T03:44:03.220 回答
1

除了性能和并发问题,您还应该考虑可用性。多个打开的页面、后退按钮、书签、链接到您的网站等是否有效?由于他们糟糕的网站,我最终在错误的日期预订了航班,aerlingus.ie并且几乎预订了错误的酒店。lastminute.com

于 2008-12-04T14:15:22.617 回答