`

关于sessionid的一些问题

阅读更多

最近在做项目的过程中遇到了一个session id相关的问题,场景是这样的:

服务器端向客户端提供了一个登录接口,有用户名,密码,还有验证码。验证码实际上是一个JSP页面,代码如下:

<%@page import="com.kunlunsoft.jn.action.login.LoginVerifyAction"%>
<%@page import="com.kunlunsoft.jn.utils.VerifyCodeUtil"%>
<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%
	String verifyCode = VerifyCodeUtil.createColor(request, response);
	session.setAttribute("VERIFYCODE", verifyCode);
	out.clear();
	out = pageContext.pushBody();
%>

 在上述JSP页面中,把验证码存储到session中,校验时就从session获取校验码,和客户端上送的校验码进行比较。现在出现一个问题是,从session中获取不到校验码,因为JSP和后台不是同一个session,怎么办呢?

我的方法是使用url重写,如:

http://localhost:8084/ICServer/verifycode.jsp;jsessionid=846BE41ACE68E5F553DF5D9EF331267B

但是这也不好使,因为浏览器会从cookie中去sessionid然后上送到服务器。所以,我禁用了浏览器的cookie就ok了

 

禁用cookie之后,url中指定的sessionid就生效了

 

  • 大小: 39 KB
0
0
分享到:
评论
2 楼 hw1287789687 2013-12-13  
liubey 写道
你这完全是为了解决问题而解决问题啊,为了用你网站还得先禁用cookie

不是的,客户端是android或者ios(不是浏览器),所以不存在cookie的问题。我是做后台的,测试这个登录时才发现的问题,然后拿出来分享一下
1 楼 liubey 2013-12-13  
你这完全是为了解决问题而解决问题啊,为了用你网站还得先禁用cookie

相关推荐

    tomcat修改sessionId

    tomcat修改sessionId,同一台服务器部署多个tomcat需要修改sessionId,否则会出现session冲突的问题

    获取SessionID

    ### 获取SessionID方法详解 在Web开发中,Session是一种常用的技术,用于跟踪用户的会话状态。SessionID则是服务器为每个用户会话分配的一个唯一标识符,对于实现用户身份验证、个性化服务等功能至关重要。本文将...

    NET的csharp的session丢失sessionid不一样

    ### 关于.NET中C# Session丢失与SessionID变化问题解析 #### 一、问题背景及概述 在.NET框架中,特别是在使用C#进行Web开发时,Session管理是至关重要的一个环节。Session对象允许服务器存储有关用户会话的信息,...

    通过HttpURLConnection获取SESSIONID

    //得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了 //淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的 List&lt;String&gt; list = (List) ...

    cookie与session、sessionid

    ### Cookie与Session、SessionID详解 #### 一、引言 在现代Web开发中,保持用户的会话状态是一项基本需求。传统的HTTP协议是无状态的,这意味着每一次客户端发起的请求都是独立的,服务器无法直接识别出请求来自...

    自己实现的spring-session

    如果没有sessionId就新创建session,如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId...

    关于session丢失问题

    4. **网络问题**:网络中断或请求重定向可能导致Session ID的丢失。为防止这种情况,可以优化网络环境,同时确保服务器正确处理重试和重定向请求,确保Session ID的传递不受影响。 5. **代码错误**:编程错误,如...

    网页session的一些常见问题并解决方案

    解决方法是使用更安全的Session ID生成机制,如结合用户IP和时间戳,确保每个Session ID的独特性。同时,注意并发控制,避免多个请求同时修改同一Session数据。 四、Session性能优化 大量使用Session可能导致服务器...

    验证码的session问题

    此外,也可以参考CSDN论坛上的讨论(http://bbs.csdn.net/topics/391829648),获取更多关于解决Session和验证码问题的经验和建议。学习和掌握这些问题的解决方案,对于提升Web应用的安全性和用户体验至关重要。

    tomcat+nginx+redis 实现sessionId共享

    tomcat+nginx+redis 实现sessionId共享!里面有文档自己看就可以了很详细了很详细了很详细了

    tomcat+nginx+redis 实现sessionId共享 实例

    这个实例“tomcat+nginx+redis 实现sessionId共享”旨在教你如何在使用Tomcat作为应用服务器、Nginx作为反向代理服务器的环境中,利用Redis来实现跨服务器的会话(sessionId)共享。这对于在分布式系统中保持用户...

    URL中允许携带sessionid带来的安全隐患分析

    如果浏览器禁用了cookie,那么无法通过cookie存储sessionid,一些Web开发框架或语言允许在URL中直接附加sessionid(如通过URL重写或URL参数形式)。 但是,这种做法存在问题,攻击者可以通过各种方式诱骗用户点击...

    ASP.NET SessionId.rar

    ASP.NET中的SessionId是Web应用程序用来跟踪用户会话的关键组件。在ASP.NET中,当一个用户访问网站并开始与服务器交互时,系统会为该用户分配一个唯一的SessionId。这个标识符是通过加密生成的,并存储在用户的...

    ASP.NET WebService中使用ASP.NET_SessionId的问题说明

    在使用ASP.NET WebService时,有时会遇到与ASP.NET_SessionId相关的问题,尤其是在涉及会话状态管理的情况下。 ASP.NET_SessionId是一个由ASP.NET生成的唯一标识符,用于跟踪用户的会话状态。在用户首次访问网站或...

    基于 Session ID 和 Session ticket 的会话恢复的抓包示例

    在网络安全和Web应用程序中,会话管理是至关...通过分析抓包文件,我们可以发现潜在的安全问题,如Session ID的泄露,以及优化网络通信效率的可能性。因此,掌握这两种会话恢复机制对于网络安全专业人员来说至关重要。

    微信小程序sessionid不一致问题解决

    在微信小程序开发中,经常会遇到由于`sessionID`不一致导致的登录状态丢失问题,这主要是因为微信小程序的网络请求机制以及服务器端的会话管理方式。本文将深入解析这个问题,并提供解决方案。 首先,理解`session...

    Java关于session的详细解释

    ### Java关于Session的详细解释 #### 一、Session的基本概念 在Java Web开发中,Session是一种常用的技术,用于跟踪用户的会话状态。简单来说,Session就是服务器为特定用户分配的一块内存区域,用来存储该用户在...

    Acct-Session-idAcct-Session-id

    3. **问题排查与故障定位**:在遇到网络故障时,Acct-Session-id 可以帮助技术人员快速定位问题发生的会话,加速问题解决过程。 #### 重要性分析 Acct-Session-id 的重要性主要体现在: - **准确性**:它是区分不同...

    微信小程序实现Session功能及无法获取session问题的解决方法

    网上找到的的一些方法有缺陷,而且很多累赘,估计没有实际测试过,在此直接给出实测可用的代码。 大概思路就是借助小程序本地储存+网络请求的header可读可写来实现类似浏览器的cookies保存session功能。 直接上代码 ...

Global site tag (gtag.js) - Google Analytics