最近在做项目的过程中遇到了一个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就生效了
相关推荐
tomcat修改sessionId,同一台服务器部署多个tomcat需要修改sessionId,否则会出现session冲突的问题
//得到Cookie的所有内容,包括SESSIONID,在进行下次提交的时候 直接把这个Cookie的值设到头里头就行了 //淡然只得到SESSIONID也很简单的 ,但是有时候Set-Cookie的值有几个的 List<String> list = (List) ...
获取 SessionID方法 获取 SessionID方法 获取 SessionID方法
如果没有sessionId就新创建session,如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId...
NET的csharp的session丢失sessionid不一样 由于本地浏览器设置或者系统设置,导致sessionid无法准确上传到服务器
tomcat+nginx+redis 实现sessionId共享!里面有文档自己看就可以了很详细了很详细了很详细了
由于小程序端两次请求的 sessionid 不一致, 导致后端无法取得 session 解决办法 在登录时获取sessionid //第一次请求登录接口时保存到sessionid中 success: function (res) { wx.hideLoading(); wx....
本文档是我平时开发时利用业余时间编写,希望能与大家共勉,不足之处请见谅
Acct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-idAcct-Session-id
proxy.CookieContainer存储了客户端的 ASP.NET_SessionId。这样以后每次通过webservice 方法调用时,都会将ASP.NET_SessionId传递到服务器端。
SessionId研究
server端向浏览器client发送通知这种通讯模式. 扩充,sessionid 采用userid.对不同用户发送不同信息。
一同事求援:后台系统的登录成功了,但不能成功登进系统,仍然跳转到登录页,但同一套代码另一个环境却没有问题。 背景 经了解,他对同一个项目使用tomcat部署了两个环境,一个在开发服务器上,一个在他本机,两个...
IP相同的两个session对应的cookie是一样的,而不幸的是sessionID就保存在cookie中,这样先访问A,再访问B的时候,B的sessionid会覆盖A的sessionid。这个事情没办法解决,所以你不要搞两个端口,最好是搞两个IP。原来...
在session共享中遇到的坑。自己通过更改源码实现自定义功能
很多WEB开发语言为了防止浏览器禁止了cookie而无法识别用户,允许在URL中携带sessionid,这样虽然方便,但却有可能引起钓鱼的安全漏洞。
已经亲自测试过 试用与初学
基于 Session ID 和 Session ticket 的会话恢复的抓包示例
网上找到的的一些方法有缺陷,而且很多累赘,估计没有实际测试过,在此直接给出实测可用的代码。 大概思路就是借助小程序本地储存+网络请求的header可读可写来实现类似浏览器的cookies保存session功能。 直接上代码 ...