繁体   English   中英

Java会话变量

[英]Java session variables

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

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

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

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

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

除了性能和并发问题,您还应该考虑可用性。 多个打开的页面,后退按钮的工作,书签,链接到您的网站等工作? 我最后在aerlingus.ie错误的一天预订了一个航班,并且因为他们令人沮丧的网站,几乎在lastminute.com上预订了错误的酒店。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM