`

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值来获取图形验证码明文,然后就可以放心大胆的攻击了.

 

 

 

 

 

 

  • 大小: 11.8 KB
  • 大小: 19.3 KB
3
1
分享到:
评论

相关推荐

    jquery+jsp+图形验证码异步校验

    在这个"jquery+jsp+图形验证码异步校验"的项目中,我们将探讨如何结合jQuery、JavaServer Pages (JSP)以及图形验证码来实现异步验证。 首先,jQuery是一个轻量级的JavaScript库,它简化了JavaScript的DOM操作、事件...

    java生成随机加减法的图形验证码

    总的来说,Java生成随机加减法图形验证码的过程涉及了随机数生成、数学运算、图像处理和网络交互等多个技术点,这需要开发者对Java基础、图形编程以及Web服务有深入的理解。通过这种方式,我们可以创建出安全且用户...

    C#_图形验证码(字母数字)

    ### C# 图形验证码(字母数字)实现解析 #### 概述 验证码是现代网站和服务中常见的安全措施之一,主要用于防止自动程序进行恶意操作。在众多类型的验证码中,图形验证码因其简单有效而被广泛采用。本文将深入分析...

    java图形验证码生成工具类 web页面校验验证码

    Java图形验证码生成工具类是...总之,`java图形验证码生成工具类 web页面校验验证码` 是一个用于创建Web页面安全验证的实用组件,通过自定义尺寸、字符数和干扰线条,可以适应不同的应用场景,并有效地防止自动化攻击。

    JavaWeb验证码校验功能代码实例

    JavaWeb验证码校验功能是Web开发中用于增强安全性的常用技术,它能够有效防止恶意用户通过自动化的脚本或机器人程序进行登录、注册等操作。本知识点将详细解释JavaWeb中验证码校验功能的实现原理和代码实例。 首先...

    验证码IE7、IE8兼容

    在Web开发中,确保验证码在各种浏览器中正常显示和功能有效是至关重要的,尤其是对于那些仍有一定用户基数的老版本浏览器,如Internet Explorer 7(IE7)和Internet Explorer 8(IE8)。本知识点主要围绕验证码在IE7...

    验证码插件

    例如,Canvas可以用于动态生成随机的图形验证码,通过绘制文字、线条、形状等元素,使得机器难以解析。JavaScript则负责处理用户的交互,如点击、拖动等动作,并验证用户输入是否正确。 图片验证码是最常见的形式,...

    python&登录网站验证码的生成与识别系统(django)

    1 图形验证码,用python web框架Django能够实现动态刷新。 2 滑动验证码: 1.服务端随机生成小拼块和带有抠图缺口的背景图片,并保存随机抠图位置坐标; 2.前端实现滑动交互,将小拼块拖到缺口上还原完整图,记录到...

    基于python+django的登录网站验证码的生成与识别系统的实现.zip

    1 图形验证码,用python web框架Django能够实现动态刷新。 2 滑动验证码: 1.服务端随机生成小拼块和带有抠图缺口的背景图片,并保存随机抠图位置坐标; 2.前端实现滑动交互,将小拼块拖到缺口上还原完整图,记录到...

    J2ee Web 项目验证码

    1. **随机数字或字母生成**:验证码通常由一组随机的字符组成,可以是数字或者字母,甚至两者的组合。这部分代码会利用Java的`Random`类或其他随机数生成库来实现。 2. **图形绘制**:生成的随机字符需要被绘制到一...

    python网站验证码生成和验证下载

    通过python代码调用PIL库生成图形验证码然后通过json方式将验证码字段和图片通过base64格式传输给前端,前端可以点击更换验证码(不用刷新页面),对输入进行校验。 注意:本资源提供的是一整套web网站验证码项目,...

    java随机生成验证码图片和校验

    本项目是基于SpringBoot框架,使用JDK 1.8,结合layui前端框架,实现了一个功能强大的验证码生成与校验系统。 首先,让我们深入了解一下验证码生成的过程。验证码通常包含一组随机生成的字符,这些字符可以是中文、...

    JS制作图形验证码实现代码

    在实际的Web开发过程中,图形验证码的实现通常会依赖于第三方服务。在此示例中,我们使用了腾讯的接口来生成验证码图片和验证码值。整个流程大致可以分为以下几个步骤: 1. 在路由层设置页面跳转:首先,需要在路由...

    使用Vue 实现滑动验证码功能

    本文将详细介绍如何使用Vue框架来实现滑动验证码功能,为读者提供一个实现前端校验验证码的实例。 首先,我们要了解验证码的基本原理。验证码分为前后端校验两个阶段。前端校验主要防止自动化程序(机器人)进行...

    web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能

    使用JSP创建注册和登录页面,添加表单供用户输入手机号或邮箱、图形验证码(防止机器人自动提交)以及接收验证码的输入框。表单提交后,通过AJAX异步请求发送验证码,避免页面刷新。 5. **验证过程**: 用户输入...

    Vue 实现登录界面验证码功能

    当然,真实的安全验证码验证还需要后端进行校验,以确保安全性。 整个实现过程的代码简单易懂,对于希望了解如何在Vue中实现验证码功能的开发者来说,这是一篇很有参考价值的文章。通过阅读本文档的内容,开发者...

    struts2下实现了图片验证码

    验证码的核心目的是通过生成随机的图形或字符让用户输入来验证其是否为真实用户。通常包括以下几个步骤: 1. **生成随机字符串**:作为验证码的基础。 2. **渲染成图像**:将字符串转化为图像形式展示给用户。 3. **...

    Ajax的使用,验证码图片生成asp.net

    客户端首先使用JavaScript的正则表达式进行初步校验,然后通过Ajax将邮箱地址发送到服务器。服务器端再次进行更严格的格式检查,确保邮箱的合法性。如果邮箱格式有误,服务器会返回错误信息,客户端接收后更新提示。...

    Java编写图片验证码(手动下载文件+手绘验证码)

    9. **验证码校验**:虽然描述中提到验证码校验功能尚未实现,但通常的做法是将生成的验证码字符串存入session,客户端输入验证码后,服务器会比对session中的值和用户输入,一致则验证通过。 10. **安全优化**:...

    .Net Core 实现图片验证码的实现示例

    另一种方式是将验证码编码为JWT(JSON Web Token)并存储在Cookie中,前端通过Cookie中的值进行校验,这种方式可以避免使用Session。 总的来说,实现.NET Core图片验证码的关键在于生成随机字符串和将其转换为可视...

Global site tag (gtag.js) - Google Analytics