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

验证码的原理、作用及实现「建议收藏」验证码能有效阻止恶意登录与注册,这里主要是验证码的相关原理及操作实现。所用知识为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


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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • onpropertychange事件「建议收藏」

    onchange:它在触发对象失去焦点时,才触发onchange事件。二、如果得用javascript改变触发对象的属性时,并不能触发onchange事件

  • mysql时间戳转为日期格式_mysql时间戳与日期格式的相互转换

    mysql时间戳转为日期格式_mysql时间戳与日期格式的相互转换1、UNIX时间戳转换为日期用函数:FROM_UNIXTIME()[sql]viewplaincopyselectFROM_UNIXTIME(1156219870);输出:2006-08-2212:11:102、日期转换为UNIX时间戳用函数:UNIX_TIMESTAMP()[sql]viewplaincopySelectUNIX_TIMESTAMP(‘2006-11-04…

  • 学习笔记3–车载传感器之毫米波雷达和超声波雷达

    学习笔记3–车载传感器之毫米波雷达和超声波雷达毫米波雷达和超声波雷达。

  • centos7中firewall防火墙详解和配置_centos8 防火墙

    centos7中firewall防火墙详解和配置_centos8 防火墙一、ipset概述ipset与iptableiptables是在Linux内核中配置防火墙规则的用户空间工具。在内核版本更新到2.4以来,iptable一直作为系统中主要的防火墙解决方案。CentOS7将原来的iptable替换为firewall,而firewall提供了对ipset的支持。ipset相当于iptable的扩展,它和iptable处理方式,iptable通过链表…

  • 双线性插值 一文全讲解

    双线性插值 一文全讲解1、原理在图像的仿射变换中,很多地方需要用到插值运算,常见的插值运算包括最邻近插值,双线性插值,双三次插值,兰索思插值等方法,OpenCV提供了很多方法,其中,双线性插值由于折中的插值效果和运算速度,运用比较广泛。  越是简单的模型越适合用来举例子,我们就举个简单的图像:33的256级灰度图。假如图像的象素矩阵如下图所示(这个原始图把它叫做源图,Source):2343822674…

  • PHP教程 Array 函数_deft最后一舞

    PHP教程 Array 函数_deft最后一舞…件的属主、属组和权限,防止权限不一致问题。#chowndb2inst1:db2iadm1S0003170.LOG#chowndb2inst1:db2iadm1S0003171.LOG#chowndb2inst1:db2iadm1S0003172.LOG#chowndb2inst1:db2iadm1S0003173.LOG#chowndb2inst1:db2iadm…

发表回复

您的电子邮箱地址不会被公开。

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