[英]Does a Java session (HttpSession) validate IP addresses?
使用由Java的Servlet API通过HttpSession接口提供的Session管理,创建了一个cookie JSESSIONID。 此cookie用于验证用户是否具有已创建的会话。
但是,Servlet是否验证此JSESSIONID值是否来自创建会话的同一台机器?
我知道XSS(跨站点脚本)攻击可以窃取用户的会话cookie,但是当恶意用户将JSESSIONID发送回服务器时,他/她是否能够检索会话内容? 或者服务器验证发送JSESSIONID的用户的IP?
不,它没有检查同一会话中后续请求之间的ipaddress是否相同。 但是,您可以获取该IP地址并使用其他名称保存在会话中,并可以通过您的sel进行检查
为用户创建会话时
HTTP是无状态协议,在每个请求中传递JSESSIONID值(以cookie的形式或作为URL参数),以指示服务器请求属于由JSESSIONID值表示的会话。 服务器使用JSESSIONID作为密钥维护会话对象,该密钥用于将会话对象与请求相关联。 如果这是“服务器验证发送JSESSIONID的用户的IP”的意思,它不会维护客户端IP和会话ID之间的关系。 因此它不会对给定的会话ID执行客户端IP验证。
不,服务器不验证IP地址。 这就是为什么会有偷窃会议的原因。 并且,Servlet引入了一些措施来避免它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.