验证码的原理、作用及实现「建议收藏」

验证码的原理、作用及实现「建议收藏」验证码能有效阻止恶意登录与注册,这里主要是验证码的相关原理及操作实现。所用知识为javaweb的jspservletxml及java基础知识。

大家好,又见面了,我是你们的朋友全栈君。

验证码原理分析及实现

一、前言

    最近学习实现了验证码,首先附图效果如下:(

    简单说明:

        分别提交正确、错误的验证码及对应效果 

        本文是图文结合说明)

    验证码的原理、作用及实现「建议收藏」      

    验证码的原理、作用及实现「建议收藏」

    验证码的原理、作用及实现「建议收藏」    

    验证码的原理、作用及实现「建议收藏」

二、验证码的作用

    验证码是目前大多网站所支持并使用于注册登录的。就在于其作用能有效防止恶意登录注册,验证码每次都不同,

这就可以排除,用其他病毒或者软件自动申请用户及自动登陆.有效防止这种问题。


三、原理及知识点分析

    1.原理

    验证码于服务器端生成,发送给客户端,并以图像格式显示。客户端提交所显示的验证码,客户端接收并进行比较,若比对失败则不能实现登录或注册,反之成功后跳转相应界面。


    2.主要知识

    服务器端的相关实现,前端运用 HTML 5,CSS 3 ,(可空白留给美工实现,须有  HTML  基础知识)。

    主要是三部分:

                           (提交界面, 成功及失败的)  jsp  

                           (后台对应提交  jsp  验证提交内容的) servlet  (生成验证码的) servlet

                           XML  文档

四、验证码实现

    1.所用软件为  Myeclipse  

    新建项目,默认生成  index.jsp  新建成功及失败  jsp(文件名自定义,但后台使用其路径时要对应即可)

    注意:将  charset ,pageEncoding 设置为  utf-8   才能支持中文,否则乱码,此处采用 post 方法处理 Form 表单提交数据

验证码的原理、作用及实现「建议收藏」

    2. jsp 代码写界面

    提交界面jsp 代码及成功 jsp失败 jsp

    三个界面的代码分别如下:

(1).提交页面主要代码:

    验证码的原理、作用及实现「建议收藏」

(2).成功页面主要代码,验证码输入成功跳转的界面,提示登录成功或验证码输入正确

    验证码的原理、作用及实现「建议收藏」 

(3).失败页面主要代码

     验证码的原理、作用及实现「建议收藏」

    (  其中form 表单中  action=”index”  的 index 不是当前  index.jsp 文件,是对应新建的检测提交数据正误的 servlet  名字可自定义,下面截图所示:

      此处是我的失误,不用这个名字,就不必多解释这一点,希望不会给各位带来不必要的麻烦

       验证码的原理、作用及实现「建议收藏」

     )

    3.  servlet 文件处理数据

    新建  servlet  对应  img 的 src 路径来源属性值,此处命名为  ImageServlet  (可自定义但要相互对应)

实现验证码的产生与显示

代码如下:

   验证码的原理、作用及实现「建议收藏」

    验证码的原理、作用及实现「建议收藏」

新建  action 对应的路径属性值  servlet 命名为  index  实现验证及相关处理

代码如下:

    验证码的原理、作用及实现「建议收藏」

    验证码的原理、作用及实现「建议收藏」

   5.新建对应的  XML 文档,代码如下

    验证码的原理、作用及实现「建议收藏」

    所实现效果即本文开头所示。

    不足之处请见谅及指教,谢谢览阅。

    源码链接:https://gitee.com/niaonao/IdentifyCodeProject


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159125.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 设置代理服务器_网络代理

    java 设置代理服务器_网络代理importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.*;importjava.util.Base64;publicclassTest{publicstaticvoidmain(String[]arg…

    2025年10月19日
    2
  • hdu1142_hdu1001

    hdu1142_hdu1001这道题纠结了好久~~~最后发现最短路的算法求错了~~~可是以前用此代码AC了好几道题了~~~汗~~求指点~先是最后ac代码:#include#include#include#include#defineINF1000010010usingnamespacestd;intd[1005];intvis[1005];intw[1005][1005];

    2022年9月30日
    2
  • pycharm远程部署_树莓派python环境

    pycharm远程部署_树莓派python环境树莓派python安装到pycharm远程连接步骤1、从官网上下载树莓派系统到pc端2、下载diskgenius,将TF卡格式化成普通盘3、在卡中创建ssh文件,不带后缀,用于树莓派和主机的远程连接4、从官网下载piimager,将下载的树莓派系统安装TF卡中5、TF插入树莓派4B,开机自动开始安装系统6、提示是否更新软件,直接skip跳过7、更换镜像源8、update,upgrade命令更新软件9、安装虚拟键盘(可选)10、安装中文输入法11、远程控制,pc端安装xshell12

    2022年8月26日
    9
  • unity支持python语言吗_scratch三维立体

    unity支持python语言吗_scratch三维立体在上次发布拙作后,有不少童鞋询问本人如何学习Unity3D。本人自知作为一名刚入门的菜鸟,实在没有资格谈论这么高大上的话题,生怕误导了各位。不过思来想去,决定还是写一些自己的经验,如果能给想要入门U3D的您一些启发,便再好不过了。如何入门谈起自己是如何入门U3D,这还得从一年半前说起。那是在一个月黑风高的夜晚…(此处省略一万字)。就这样,我对这款游戏引擎产生了浓厚的兴趣,走上了自学的道路。相比…

    2022年8月10日
    4
  • vue3 codemirror_codemirror不显示代码

    vue3 codemirror_codemirror不显示代码前言如果我们想在Web端实现在线代码编译的效果,那么需要使用组件vue-codemirror,他是将CodeMirror进行了再次封装支持代码高亮62种主题颜色,例如monokai等等支持js

    2022年8月7日
    9
  • 微服务架构-实现技术之三大关键要素3服务可靠性:服务访问失败的原因和应对策略+服务容错+服务隔离+服务限流+服务降级

    微服务架构-实现技术之三大关键要素3服务可靠性:服务访问失败的原因和应对策略+服务容错+服务隔离+服务限流+服务降级目录一、服务访问失败的原因和应对策略(一)服务访问失败的4大原因和分类1硬件失败2.分布式环境的固有原因3.服务自身失败4.服务依赖失败(二)服务访问的雪崩效应(三)服务访问失败的应对策略二、服务容错1.Failover2.Failback3.Failsafe4.Failfast5.Forking6.Broadcast三、服务隔离…

    2022年4月28日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号