Web 图形验证码的校验1

简介:

网站开发中,就会经常涉及到图形验证码的校验,比如:

那么如何校验呢?

我们原来的校验方式:前后端都校验

步骤:

(1)前端js 校验图形验证码的MD5

(2)校验通过才真正发送请求到服务器;

(3)服务器再次校验图形验证码明文

注意:前端js校验的不是图形验证码明文,而是其MD5值;

 

如何获取图形验证码的MD5值呢?

服务器需要提供一个单独的接口,返回当前图形验证码的MD5.什么叫"当前"?

就是从session或redis中获取一个图形验证码,而不是重新生成.

 

后来我们修改了验证方式:只在服务器端校验.

 

为什么去掉了在前端js MD5校验呢?

根本原因是:我们当时的图形验证码只有4位,而且全部是字母,很容易被破解.比如  http://www.cmd5.com/ 就是专门干这个的

 

可以参考我的另外关于MD5的博客 :

http://hw1287789687.iteye.com/blog/2248365

http://hw1287789687.iteye.com/blog/2248374

 

所以坏蛋就可以通过破解验证码的MD5值来获取图形验证码明文,然后就可以放心大胆的攻击了.

 

相关文章
|
API Android开发 iOS开发
web: 手机键盘自动获取短信验证码,点击自动填充输入框
web: 手机键盘自动获取短信验证码,点击自动填充输入框
369 0
|
8天前
|
前端开发 PHP
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
本文介绍了在ThinkPHP框架中使用验证码扩展库的方法,包括安装验证码扩展库、在页面中使用验证码、自定义验证码配置以及校验验证码的步骤和代码示例。
ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则
|
2月前
|
NoSQL Java Redis
认证服务---整合短信验证码,验证码倒计时,验证码防刷校验 【一】
这篇文章介绍了如何在分布式微服务项目中整合短信验证码服务,包括使用阿里云短信验证接口、将短信验证功能集成到第三方服务中、其他服务的远程调用,以及通过Redis实现验证码防刷机制的代码实现和遇到的问题解决方案。
|
4月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
95 5
|
5月前
|
存储 前端开发 JavaScript
Django教程第4章 | Web开发实战-三种验证码实现
手动生成验证码,自动生成验证码,滑动验证码。【2月更文挑战第24天】
80 0
Django教程第4章 | Web开发实战-三种验证码实现
|
5月前
|
前端开发 JavaScript
vue3实现验证码校验的功能
最近想实现使用vue3实现一个简易的前端验证码校验的功能,就花了点时间实现了,这只是一个简易版的,但是用在项目中是没有啥问题的,废话不多说,先来看下最终实现的效果。写着玩的 哈哈
282 0
|
5月前
|
存储 前端开发 Java
①实现基于session的登录流程:发送验证码、登录注册、校验登陆状态
①实现基于session的登录流程:发送验证码、登录注册、校验登陆状态
158 0
|
安全 Linux 网络安全
嵌入式QT应用程序与WEB端通信遇到的HTTPS校验证书的问题记录
嵌入式QT应用程序与WEB端通信遇到的HTTPS校验证书的问题记录
191 0
|
存储 资源调度 前端开发
[Nestjs] 实现生成图形验证码以及校验过程
要在 NestJS 中实现图形验证码的校验过程,你可以按照以下步骤进行操作: 1. 安装依赖:首先,使用 npm 或 yarn 安装 svg-captcha 和 cookie-parser,其中 svg-captcha 是用于生成 SVG 格式的验证码图片的库,cookie-parser 是用于处理和解析 Cookie 的库。
532 0
|
移动开发 前端开发 JavaScript
Vue 利用Canvas标签实现动态验证码校验(前端必备附源码)
Vue 利用Canvas标签实现动态验证码校验(前端必备附源码)
428 0
下一篇
无影云桌面