调试用户登录时验证码必须填写完整及正确吗?

本文深入探讨了验证码在用户登录过程中的作用与实现方法,解释了验证码如何提高网站安全性,防止暴力破解,并介绍了如何通过动态验证码确保用户登录的安全。

调试用户登录时验证码必须填写完整及正确吗?

文献种类:专题技术文献;
开发工具与关键技术:  VS       
 作者:  卢媛媛 ;
 撰写时间:2019 年 4月 05 日 

在各大app中都会有“登录”的模式,主要是为了检验安全性(每个人使用的动态码不唯一)从而提升用户体验;
验证码的作用:有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,腾讯的QQ社区),我们利用比较简易的方式实现了这个功能。虽然登陆麻烦一点,但是对社区还来说这个功能还是很有必要,也很重要。

1.为什么比较容易破解用户名和密码简单的用户
验证码在每一次刷新的过程中,就会更换为其他的数字,没有任何规律,如果没有填写验证码或验证码不正确,系统也不用去和数据库中比对密码,直接返回;

2.验证码为什么既不是图片也不是数字
道理很简单,如果是图片或是数字,通过查看源代码或者别的方法,可以获得验证码的信息,改进暴力破解程序后,仍然可以进行暴力破解。验证码是根据程序随即生成的,是用程序计算出来的信息显示在页面上。
3.需要实现登录必须有用户和密码再加上动态验证码,如果有需求就再加权限登录即可 ;
在这里插入图片描述
此时我并没有输入正确的验证码信息,而是随意书写(字母数字都可以),接下来我们提前到控制器断点进行调试查看结果
在这里插入图片描述
4. 看图我们看第一行为用户,第二行则为密码,接下来是验证码及“记住否”这个涉及到session和cookie一个服务器和浏览器,看图断点把鼠标的光标移动到获取值上可知获得值为“null”(空);
在这里插入图片描述6. 判断填入的验证码和session中的验证码是否一致,sessionValiCode是自命名为验证码,判断申明的值传过来是否与其保持一致,去空格主要是方便传到浏览器视图,InvariantCultureIgnoreCase是避免输入验证码是区分大小写(无需强制大小写)
在这里插入图片描述
里显示的值与页面中验证码一致说明传过来到控制器中信息是正确的;但是继续执行下去会发生什么呢?
在这里插入图片描述
显然可想而知肯定报错登录失败,那么有什么方法可以解决呢?
在这里插入图片描述
那么在后面加上一句代码,
||是或者的意思,true为真
在一般情况下控制器的状态默认为false,所以只需要加上这么一句简单地代码即可;
接下来我们继续执行然后查看结果,遇到bug报错再修改,
在这里插入图片描述
答案很明显了已经可以登录并且成功了,这里如果写了主页面可以加上一个页面跳转就OK?

这样一来如果是接到类型项目时就可以方便很多,虽然有些偷懒但对于一个程序员来说确实减少了一些强制性操作。当然在完善项目时这个偷懒也需要改回来,不然对于用户则是巨大的bug了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值