问题描述
- 求一随机生成四位数字验证码的代码,并验证输入的与生成的是否一致
-
求一随机生成四位数字验证码的代码,并验证输入的与生成的是否一致
解决方案
这个和js没有关系。验证码的作用是防止机器模仿人滥用的。因为机器识别不规则图像很困难,但是人可以做到这一点。
所以这个需要服务器去验证,如果是客户端验证,那么攻击者很容易破解你的生成和验证环节,验证码也就形同虚设了。
你需要一种服务器编程语言。比如jsp或者asp等等,随机产生验证码,用绘图的方法绘制,加上干扰线、噪点,进行文字的变形等等输出到客户端,同时记录下验证码到session中。
用户输入提交后和session的比对。
解决方案二:
随机生成四个数字,然后组合在一起,这是比较简单的做法。
解决方案三:
参考:
asp.net
http://www.360doc.com/content/13/0220/11/10504424_266707831.shtml
http://blog.sina.com.cn/s/blog_999acec40101awvz.html
jsp
http://www.jb51.net/article/16168.htm
http://blog.csdn.net/cuihaiyang/article/details/6439780
php
http://www.jb51.net/article/40341.htm
http://blog.sina.com.cn/s/blog_95ee14340100z8q9.html
http://www.360doc.com/content/14/0102/06/11801506_341855171.shtml
解决方案四:
http://www.cnblogs.com/ziyiFly/archive/2008/09/04/1283808.html
解决方案五:
生成随机数,乘 10000, 取整,完成:
var num = Math.round(Math.random() * 10000);