社区
Java EE
帖子详情
SESSION存储验证码失效问题
yqb678
2010-01-27 05:25:08
我的程序是JAVA与JSP的也存在这个问题,就是开始的时候向SESSION中存入验证码,但在有时候就取不到值,以至于比对时造成输入的验证码与SESSEION中获取的NULL值不相等,提示用户验证码错误。请指教为什么SESSION有时候获取不到值 呢。急谢谢
...全文
1062
31
打赏
收藏
SESSION存储验证码失效问题
我的程序是JAVA与JSP的也存在这个问题,就是开始的时候向SESSION中存入验证码,但在有时候就取不到值,以至于比对时造成输入的验证码与SESSEION中获取的NULL值不相等,提示用户验证码错误。请指教为什么SESSION有时候获取不到值 呢。急谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
邪风之神曲
2012-06-28
打赏
举报
回复
http://computername:8080/ 通过计算机名不可取session
http://localhost:8080/ 通过localhost可取session
http://192.168.1.2:8080/ 通过本机IP可取session
楼主以及各种有类似验证码session取不到的同学请试上面地址,一般可解决。
cjchuchu1121
2012-06-14
打赏
举报
回复
请问问题有没有解决??我的也出现这种情况了。。。
sunshiwu66
2012-04-02
打赏
举报
回复
我的也是这个问题啊,sverlet能取到值,到页面就取不到了,session默认30分钟,肯定没过期啊,值也存进去了,
servlet中:request.getSession().setAttribut("validateCode",randomCode.toString());
System.out.println(session.getAttribute("validateCode")+"vvvvvvvv");
到这里能打印出来的
jsp:中: ${sessionScope.validateCode} 为null
yisshengyouni
2011-05-01
打赏
举报
回复
我的貌似也是这种问题,在servlet中还能打印出来,但在jsp中又取不到
yqb678
2010-02-08
打赏
举报
回复
那是因为你服务器的session过期了,但是客户端的sessionid还是原来那个,他去服务器取原来的那个session取不到了
您说的对,但此问题如何解决。谢谢
重返春季
2010-01-30
打赏
举报
回复
有源码吗,贴来让大家帮你分析一下吧。顶一下!!
swit1983
2010-01-28
打赏
举报
回复
[Quote=引用 7 楼 yqb678 的回复:]
我的操作是先打开浏览器,生成验证码并放在 SESSION中,等SESSION超时后我再刷新页面,再生成新的验证码,此时到action中获取验证码就获取 不到。
[/Quote]
那是因为你服务器的session过期了,但是客户端的sessionid还是原来那个,他去服务器取原来的那个session取不到了
南南北北
2010-01-28
打赏
举报
回复
没取到的原因只有一个:你没存进去!
老紫竹
2010-01-28
打赏
举报
回复
1 你先确认你生成了新的验证码,浏览器的缓冲有时会做鬼的。
2 确认你生成验证码和测试验证码的顺序,先生成,后测试,这在页面操作时,经常出问题
3 实在不行,将你的验证码放到一个类的私有变量,然后监控器set方法,看看到底发生了什么。为啥get是空
nihuajie05
2010-01-28
打赏
举报
回复
[Quote=引用 13 楼 crazylaa 的回复:]
你的session是不是request.getSession()的?记得()里面不要加(true)或(false)
[/Quote]
貌似我记得如果不加,是默认的。。。false。。是不是的。。。
我记得不清楚了。
我记得我当年做的时候,验证码不放在Session中,验证通过了以后就在Session中间设置一个flag=Y,否则就是null或者N。。
这样来判断的
todayclock
2010-01-28
打赏
举报
回复
建议你把代码粘贴过来,大家一块找找,究竟错误出现在哪里
mengxq
2010-01-28
打赏
举报
回复
值要放到session中,传过去要获取也要在session中获取
lewis219
2010-01-28
打赏
举报
回复
每次把验证码打印出来看看不就知道是个啥了啊,如果有值就不是session的问题啊,如果取不到那就是session问题
JavaAlpha
2010-01-28
打赏
举报
回复
楼主用的什么浏览器啊 换个其他的试试看
登录的时候打印一下 session的值 看看
镜花水月73
2010-01-28
打赏
举报
回复
可能是你页面加载了两次,当你此次去验证的时候在页面上显示的是重新加载的验证码,而你去对比的是上一次的验证码,你可以做下实验,分别获得记录对比一下,希望对你有所帮助
BearKin
2010-01-28
打赏
举报
回复
[Quote=引用 12 楼 yqb678 的回复:]
引用 11 楼 crazylaa 的回复:
引用 7 楼 yqb678 的回复:
我的操作是先打开浏览器,生成验证码并放在 SESSION中,等SESSION超时后我再刷新页面,再生成新的验证码,此时到action中获取验证码就获取 不到。
session已经超时无效了,当然取不到。你把session超时时间设长点(标准30分钟足够)不就好了。另外你每次生成验证码,都需要往session里面重新set一下不知道你做了没有
问题是我刷新了,刷新时就要生成 一个新的session呀,为什么还取不到,另外我生成时每次的set了。
[/Quote]
没超时不刷新直接访问ACTION能获取SESSION 一刷新从新获得就不行? LZ的页面有木有做啥特殊操作捏?
zoujian19841202
2010-01-28
打赏
举报
回复
seesion过期了吧!
qqshenyunzcz
2010-01-28
打赏
举报
回复
[Quote=引用 21 楼 java2000_net 的回复:]
1 你先确认你生成了新的验证码,浏览器的缓冲有时会做鬼的。
2 确认你生成验证码和测试验证码的顺序,先生成,后测试,这在页面操作时,经常出问题
3 实在不行,将你的验证码放到一个类的私有变量,然后监控器set方法,看看到底发生了什么。为啥get是空
[/Quote]
up
crazylaa
2010-01-27
打赏
举报
回复
你的session是不是request.getSession()的?记得()里面不要加(true)或(false)
yqb678
2010-01-27
打赏
举报
回复
[Quote=引用 11 楼 crazylaa 的回复:]
引用 7 楼 yqb678 的回复:
我的操作是先打开浏览器,生成验证码并放在 SESSION中,等SESSION超时后我再刷新页面,再生成新的验证码,此时到action中获取验证码就获取 不到。
session已经超时无效了,当然取不到。你把session超时时间设长点(标准30分钟足够)不就好了。另外你每次生成验证码,都需要往session里面重新set一下不知道你做了没有
[/Quote]
问题是我刷新了,刷新时就要生成 一个新的session呀,为什么还取不到,另外我生成时每次的set了。
加载更多回复(11)
iframe跨域与
session
失效
问题
的解决办法
何为跨域跨域
session
/cookie? 也就是第三方
session
/cookie。第一方
session
/cookie指的是访客当前访问的网站给访客的浏览器设置的seesion /cookie, 会被
存储
在访客的计算机上。第三方
session
/cookie指的是当前访问的网站中会加载(嵌入)另外第三方的网站代码,例如促销广告,那么第三方网 站也会在访客的计算机上添加
session
/cookie,这种就是第三方
session
/cookie。 我的
问题
在开发讯息在线产品(http://iap.pgia.net)测试各种浏览器的兼容性时,发现IE浏览器(v7\8)都无法登录(总是提示
验证码
不匹配
springboot-ng:springboot+angular -- 17年5月停更
springboot+angular 项目框架 注:1. 本项目效果可登录 116.62.208.242:8081/src/index.html 查看(已
失效
) 2. 本项目代码最新提交于2017年5月, 后续不再更新 已添加: 1.js文件懒加载 2.前台捕获后台抛出的自定义异常(即配置responseError) 3.拦截器和过滤器 4.log4j 5.junit 6.token权限验证 7.
session
超时处理和http
session
监听器 8.bootstarp-Admin框架 9.记录登录者信息,
存储
在mongodb中.(使用到百度地图api中的IP精确定位) 已包含工具类: 1.ID生成器 2.日期处理 3.短信
验证码
发送(使用的是云片网络) 4.token生成器 5.md5加密 数据库: mysql(放在阿里云,系统:centos7) mongodb (同上)
开源电子商务系统iWebShop v2.7.14101000
iWebShop 是一款面向独立卖家的单用户开源网店系统,基于PHP+MySQL框架开发,通过它可以迅速建立起一个B2C2C网上商城。iWebShop基于专业的MVC模式的IWEB框架开发,iWebShop可以轻松满足用户量级百万至千万级的大型电子商务网站的性能要求,良好的框架设计模式和严谨的代码规范让用户在高安全性的购物平台下获得绝佳的购物体验,程序伸缩能力强,支持数据库读写分离和主从支持!具有分布式技术(分布式计算与
存储
/高可用性/负载均衡)。 iWebShop集成了一切网店必要的功能模块,且不臃肿,是您首选建站绿色程序。其 100% 的源码开放性更使得无数开发者和模板设计者参与其中! 在产品前端方面整合了JS前端模板引擎artTemplate使得前端展示和数据进一步分离!更利于代码的二次开发和升级。 优化及bug修复: 1,商家商品增加检索功能 2,升级了layout控制,可以对任意试图设置layout在theme的config.php中 3,升级了mobile移动端的模板,增加了评论功能模块 4,管理员商品管理后台增加了批量设置和ajax设置库存,价格,标签等功能 5,重新优化了支付接口底层,允许后台自定义多个配置 6,升级了bx幻灯片插件,减少
失效
率 7,品牌列表去掉了只显示20品牌的限制 8,商品筛选与关键词进行关联 9,修改了
验证码
的路径兼容性,解决了部分环境下路径
问题
导致的
验证码
无法显示 10,修正了会员中心订单在删除情况下的统计错误 11,优化了
session
续写的兼容性 12,修正了qq登录在二级目录下的登录bug 13,更新api类库 14,修复了在图片规格下双引号未转义引发的错误 15,修正余额支付的key获取方式 16,修改了商户添加和申请时的唯一性检验 17,增加缩略图处理类库 18,修正了商品列表页面的自定义价格转义过滤错误
解决springboot+shiro+Google
验证码
,在nginx部署环境下无法获取到
session
中的
验证码
的
问题
【现象】 前后端分离项目,在nginx环境下部署。依靠shiro中
session
存储
验证码
,前台发送请求校验
验证码
时,发现拿到的不是同一个
session
,因此取
验证码
时一直为null。 【解决:更改nginx配置】 proxy_cookie_path 前面是项目路径,后面是配置文件代理的路径 例如后台配置中是:server.context-path=/api 且nginx的路径为 location /pathname{......} 则,需要配置proxy_cookie_path形如下: loca.
前后端分离
验证码
存储
,
session
处理
问题
描述 前后端分离,
验证码
存储
到
session
中,postman测试可以获取到
session
中的
验证码
,但是在另一台电脑上获取
session
中的
验证码
却始终为null,试了各种跨域、携带cookie都不管用。 前言 一个之前完成的项目说要加些新需求要我们做,我们肯定不能拒绝啊,开干。 打开项目,运行,浏览器输入地址,输入用户名、密码、
验证码
,点击登录,???
验证码
已
失效
???啥情况?断点一看,好家伙,获取
存储
在
session
中的
验证码
一直是null,再将
存储
验证码
的
session
和登录时从请求获取的ses
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章