使用Java通过HttpSession接口管理的会话,将创建一个cookie JSESSIONID。这个cookie用于验证用户是否有创建的会话。
但是,Servlet是否验证这个JSESSIONID值来自创建会话的同一台机器?
我知道XSS (跨站点脚本)攻击可以窃取用户的会话cookie,但是当恶意用户将JSESSIONID发送回服务器时,他/她能够检索会话的内容吗?或者服务器验证发送JSESSIONID的用户的IP?
发布于 2015-05-08 04:51:25
当为用户创建会话时,
发布于 2015-05-08 04:59:09
不,它没有检查在同一会话中后续请求之间的ipaddress是否相同。但是,您可以获取该ip地址并在会话中保存其他名称,并可以通过sel进行检查。
发布于 2015-05-08 04:58:02
HTTP是一个无状态协议,在每个请求中传递JSESSIONID值(无论是cookie形式还是URL参数),以指示服务器请求属于由JSESSIONID值表示的会话。服务器使用JSESSIONID作为键维护会话对象,该键用于将会话对象与请求关联。如果这是您所说的“服务器验证发送JSESSIONID的用户的ip”,则不会维护客户端IP和会话id之间的关系。因此,它不会对给定的会话id执行客户端IP验证。
https://stackoverflow.com/questions/30115960
复制相似问题