关于表单重复提交之验证码 和谷歌Kaptcha图片验证码的使用

表单重复提交之-----验证码

表单重复提交有三种常见的情况:

一:提交完表单。服务器使用请求转来进行页面跳转。这个时候,用户按下功能键 F5,就会发起最后一次的请求。
造成表单重复提交问题。解决方法:使用重定向来进行跳转
二:用户正常提交服务器,但是由于网络延迟等原因,迟迟未收到服务器的响应,这个时候,用户以为提交失败,
就会着急,然后多点了几次提交操作,也会造成表单重复提交。
三:用户正常提交服务器。服务器也没有延迟,但是提交完成后,用户回退浏览器。重新提交。也会造成表单重复
提交。

image

谷歌 kaptcha 图片验证码的使用

谷歌验证码 kaptcha 使用步骤如下:
1、导入谷歌验证码的 jar 包
kaptcha-2.3.2.jar
image
2、我们只需要在 web.xml 中去配置用于生成验证码的 Servlet 程序
image
3、在表单中使用 img 标签去显示验证码图片并使用
image
这个程序会自行的运行,并且将这个验证码图片的具体数字发送到Session域中保存起来

4、在服务器获取谷歌生成的验证码和客户端发送过来的验证码比较使用。
image

为了更加完善,比如说当这个验证码图片看不清的时候,我们需要点击它来实现切换的效果,那么只需要在这个图片上绑定一个单击事件,对他的这个路径重新赋值即可,
image
对于 this.src = "${basePath}kaptcha.jpg?d="+new Date(); 的解释
因为每次发起请求,如果请求地址一样的话,浏览器会因为有缓存,所以图片会不变,那么将请求地址添加一个随时间戳变化的请求参数即可改善这个现象。

posted @   自学Java笔记本  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示