jsp中利用.js验证图片验证输入合不合法不会

jsp中图片验证时是先加载html还是加载图片啊,我想利用js在提交表单之前判断验证码,但每次都提示我验证码输入错误,仔细检查发现,以下面的photovalue="<%=... jsp中图片验证时是先加载html还是加载图片啊,我想利用js在提交表单之前判断验证码,但每次都提示我验证码输入错误,仔细检查发现,以下面的photovalue="<%=rand %>" 方法(在.js中验证)每次获得的验证码都是上次的,而我得输入则是当前产生的验证码,所以会提示出错(我的PhotoVerify.jsp中在产生验证码之后,赋值给rand,然后用session.setAttribute()方法存起来。)。但如果点击提交之后(取消了.js验证)传到另一个页面,接受参数rand则是当前产生的验证码,怎么回事啊,该怎么用.js文件验证哪?求助!!

<tr><td><img src="<%=request.getContextPath() %>/admin/PhotoVerify.jsp"></td>
<%String rand =(String)session.getAttribute("rand"); %>
<td><input type="text" name="photocheck" photovalue="<%=rand %>" size="20" id="photobox" value="请输入图中验证码">
<font color="red" size="2" class="feedbackHide" id="photoInfo">验证码输入错误</font>
</td>
展开
 我来答
unwmunwm
2012-07-07 · TA获得超过711个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:326万
展开全部
加载页面的时候,会先获得当下产生的一个rand:
<%String rand =(String)session.getAttribute("rand"); %>
,这个值由服务端传给了photovalue="<%=rand %>" 这个文本框;但是,页面在客户端加载后,便再次去读取src="<%=request.getContextPath() %>/admin/PhotoVerify.jsp"的PhotoVerify.jsp页面,此时,PhotoVerify.jsp会重新产生一个rand,这个 rand 和之前传给客户端的不是同一个rand了,所以,验证码会报错。也就是获取页面时PhotoVerify.jsp产生了一个rand并传给了客户端,但页面加载完后加载图片时,图片src加载PhotoVerify.jsp又产生了一次rand,两次产生的rand,自然不一致了。可以通过AJAX的方式获得PhotoVerify.jsp最后产生的rand。一般来说,在客户端验证验证码,相当于没有设置验证码,不建议这么做,因为验证码就是为了防止穷举、暴力破解、程序自动注册等非法行为,而你把验证码直接放在了客户端,你这个验证码形同虚设。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式