关于淘宝验证码为什么第一次登陆不要,错误若干次后就要了?

淘宝第一次登陆不要验证码 错误若干次后要验证码 即使是清除掉cookie,更换IP后依然要验证码,切尝试登录其他账号依然要输入验证码 请问这个技术是怎么做到的!?

百度在使用短信登录的时候同样也是 第一次获取短信内容不要验证码 第若干次后就要了;一直不明白这个是什么技术

希望大牛们解答

其实验证码就是为了挡住一些人使用计算机套取数据,例如登录,使用电脑无限制的尝试不同的密码,来套取用户的密码,
因为计算机无法分辨到底是不是用户操作,所以使用验证码,防止计算机套取的可能,
,由于计算机图形识别技术有限,验证码的技术也有很大提升,计算机无法读取验证码的信息,就可以达到拦截的目的,
(排除用计算机攻击的可能)除了登录之外,还有下载,评论刷积分等。。,防止爬虫,
说来说去就是为了防止有人用计算机爬取数据,或者盗取密码什么的,而验证码计算机识别不了,就能达到阻止的目的

我知道验证码的功能.......我是说淘宝啊 百度啊 他们的验证是怎么做的呢?!

session, ip, 账号,多次登陆失败时,它可能同时记录了这三个。除 了这三个应该没有别的办法确认是多次登陆。

验证码如何做的,其实也很简单,就是生成一些随机的字母或数字,英文什么的,用随机函数就可以生成,然后用验证码生成工具,产生相应的图片,
就是你自己做个随机函数,随机生成内容,保存在后台,根据用户的填写的验证码对比是否正确,具体的生成用到图形生成工具,你也可以自己写,简单的吧生成的内容加上一个颜色,背景为相对应的rgb()较为近的颜色,然后一些小圆点,或其他的图形,按一定密度在验证码中的方框中随机产生,(太多的话用户都出来,太少,可以被机器识别

闲的无聊手写的验证码生成器,不知道你会不会JS,新建个文本,改成.HTML,放进去用网页就能打开

 <!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>new-file</title>
    </head>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
        $(function(){
                var str=new Array();
                var n;
                for (var i=0;i<6;i++){
                    str[i]= Math.ceil(Math.random()*9);
                    n= Math.ceil(Math.random()*80)-40

                    $('p').append("<span>"+str[i]+"</span>");
                    $('p>span:eq('+i+')').css('transform','rotate('+n+'deg)')
                }
                n=2.2
                for (var j=0;j<50;j++) {

                    var x=Math.ceil(Math.random()*120)-110;
                    var y=Math.ceil(Math.random()*50)-32-n*j;
                    $('p').append("<img src=''>")
                    $("p>img:eq("+j+")").css({"top":y+'px',"left":x+'px'})

                    console.log(x+"  "+y)
                }

                console.log(str+'   '+n)
//              for (var j=0;j<6;j++) {
//              
//              }
//              $('p').html(str);
        })


    </script>
    <style type="text/css">
        span{
            margin: 2px;
            display: inline-block;
            /*transform: rotate(-20deg);*/
        }
        p{
            border: 1px solid red;
            font-size: x-large;
            line-height: 50px;
            height: 60px;
            width: 120px;
            overflow: hidden;
            color: #2B669A;
            background-color: #28A4C9;
        }
         img{
            width: 3px;
            height: 3px;
            border: 1px solid cyan;
            border-radius: 2px;
            position: relative;
            display: compact;
            top: 0px;
            left:0px;
         }
    </style>
    <body>
        <p></p>
    </body>
</html>