js判断验证码是否正确
2012-01-11 17:24
387 查看
在提交表单时,为了防止自动程序提交,一般提供有验证码。
一般都是在提交表单后在服务器端检测验证码是否正确,如错误则阻止表单提交。
为了提高体验,有的在Form的submit前使用ajax来提前检测验证码是否正确。
这样还要请求服务器,就想何不使用如下方法,来实现js在客户端验证。
步骤
页面加载时,加载验证码图片,和验证码密码。
验证码密码在服务器端生成,生成规则为 md5(验证码+固定随机码) 来生成。固定随机码只是为了防止md5暴力破解。
客户端在提交表单前使用js检测验证码是否正确。方法为:将用户输入的验证码加上固定随机码 在js使用md5运算后,与验证码密码比较,如不一样则验证码错误。阻止提交表单。
原理
此方法的核心原理就是利用了md5唯一性和无法反向破解的特性。
举一反三,此种方法也可验证其他用户输入。可能还可应用到 修改密码,验证密保等等。
可能你还很糊涂,不知道怎么表达清楚。举个实例。
实例
1 生成验证码 [5u6t9f]
2 将验证码存储在服务器端的session中,并生成 验证码密码[332AWGD] = md5(验证码[5u6t9f]+固定随机码[21EC2020])
3 客户端加载页面,页面中包含根据验证码生成的验证图片、验证码密码[332AWGD]、固定随机码[21EC2020]
4 提交表单前js通过同样算法 计算验证码密码=md5(用户输入验证码+固定随机码[21EC2020]) 计算出 新的验证码密码和系统的验证码密码[332AWGD]比较就可知道验证码是否正确了。
注意:此种方法只是为了优化用户体验,因为高手可跳过JS验证,所以在服务器端还必须对用户输入的验证进行检测。
一般都是在提交表单后在服务器端检测验证码是否正确,如错误则阻止表单提交。
为了提高体验,有的在Form的submit前使用ajax来提前检测验证码是否正确。
这样还要请求服务器,就想何不使用如下方法,来实现js在客户端验证。
步骤
页面加载时,加载验证码图片,和验证码密码。
验证码密码在服务器端生成,生成规则为 md5(验证码+固定随机码) 来生成。固定随机码只是为了防止md5暴力破解。
客户端在提交表单前使用js检测验证码是否正确。方法为:将用户输入的验证码加上固定随机码 在js使用md5运算后,与验证码密码比较,如不一样则验证码错误。阻止提交表单。
原理
此方法的核心原理就是利用了md5唯一性和无法反向破解的特性。
举一反三,此种方法也可验证其他用户输入。可能还可应用到 修改密码,验证密保等等。
可能你还很糊涂,不知道怎么表达清楚。举个实例。
实例
1 生成验证码 [5u6t9f]
2 将验证码存储在服务器端的session中,并生成 验证码密码[332AWGD] = md5(验证码[5u6t9f]+固定随机码[21EC2020])
3 客户端加载页面,页面中包含根据验证码生成的验证图片、验证码密码[332AWGD]、固定随机码[21EC2020]
4 提交表单前js通过同样算法 计算验证码密码=md5(用户输入验证码+固定随机码[21EC2020]) 计算出 新的验证码密码和系统的验证码密码[332AWGD]比较就可知道验证码是否正确了。
注意:此种方法只是为了优化用户体验,因为高手可跳过JS验证,所以在服务器端还必须对用户输入的验证进行检测。
相关文章推荐
- js如何判断QQ号码是否输入正确?
- 网络应用:生成随机验证图片并在输入验证码后判断验证码是否正确
- 利用Ajax实现输入完验证码之后直接判断验证码是否正确
- js判断手机号是否正确并返回
- 代码技巧1.类似于登录、注册界面要判断登录账号是不是空,验证码是否正确等,怎么写比较舒服一点?
- 用js判断用户名cookie是否存在的正确方法
- js判断身份证号是否正确
- JS 判断邮箱格式是否正确,注册时两次输入密码是否一致(转)
- JS正则表达式判断邮箱格式是否正确
- js判断手机号是否正确并返回的实现代码
- 用js正确判断用户名cookie是否存在的方法
- jquery,Ajax判断验证码是否正确,不正确阻止提交
- JS判断身份证号是否正确
- js判断手机号是否正确
- 关于js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式
- JS(JavaScript)判断邮箱格式是否正确
- JS判断 JSON 字符串是否正确
- js判断input file上传文件路径是否正确
- c#数字验证码功能,以及判断用户输入是否正确。