淘宝第一次登陆不要验证码 错误若干次后要验证码 即使是清除掉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>