为何Web端登陆须要验证码?

不少朋友们对于登陆必然遇到的验证码这个事情很不理解,增长用户操做的冗余性,直接登陆很方便,为何web端登陆要添加个验证码?直到上周,一家作业务安全的公司给出咱们如今Web网站的安全报告,我才意识到:验证码的本质属性安全性,除了防止恶意破解密码、刷票、羊毛党、论坛灌水、爬虫等行为外,仍是用户与网站信息安全的有力保障。web

下面是咱们安服技术人员给的从安全角度看,为何Web登陆须要验证码?安全

由于你的WEB站有时会碰到客户机恶意***。其中一种很常见的***手段就是身份欺骗,它经过在客户端脚本写入一些代码,而后利用其客户机在网站、论坛反复登录,或者***者建立一个HTML窗体,其窗体若是包含了你注册窗体或发帖窗体等相同的字段,而后利用"http-post"传输数据到服务器,服务器会执行相应的建立账户,提交垃圾数据等操做。若是服务器自己不能有效验证并拒绝此非法操做,它会很严重耗费其系统资源,下降网站性能甚至使程序崩溃。服务器

下面引用2个常见的HTML***举例说明:

一、HTML语法暴露的帐户安全问题网络

标准的HTML语法中,支持在form表单中使用<input></input>标签来建立一个HTTP提交的属性,现代的WEB登陆中,常见的是下面这样的表单:ide

<form action = "http://localhost:8080/Application/login" method = "POST"> 用户名:<input id="username" name="username" type="text" /> 密码:<input id="password" name="password" type="password" /> <button type="submit">登录</button></form>工具

form表单会在提交请求时,会获取form中input标签存在name的属性,做为HTTP请求的body中的参数传递给后台,进行登陆校验。post

undefined


例如帐号是user1,密码是123456,那么在提交登陆的时候会给后台发送的HTTP请求以下(Chrome或者FireFox开发者工具捕获,需开启Preserve log):性能

undefined


能够发现即使password字段是黑点,可是本机仍以明文的形式截获请求。网站

二、HTTP协议传输直接暴露用户密码字段spa

在网络传输过程当中,被嗅探到的话会直接危及用户信息安全,以Fiddler或Wireshark为例,发现捕获的HTTP报文中包含敏感信息:


undefined


而如今流行的判断访问WEB程序是合法用户仍是恶意操做的方式,就是采用一种叫“字符校验”的技术,WEB网站像如今的动网论坛,他采用达到方法是为客户提供一个包含随即字符串的图片,用户必须读取这些字符串,而后随登录窗体或者发帖窗体等用户建立的窗体一块儿提交。

那么该怎么办?有什么防御的办法呢?这时候咱们的安全研究人员就发明了验证码。具体发明史记介绍详见我前几篇文章的介绍。由于人的话,能够很容易读出图片中的数字,但若是是一段客户端***代码,经过通常手段是很难识别验证码的这样能够确保当前访问是来自一我的而非机器和AI机器人。

验证码:就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。 

典型应用场景:

  • 网站安全:垃圾注册、恶意登陆、恶意***

  • 数据安全:数据爬取、数据破坏、帐号盗用

  • 运营安全:恶意刷单、虚假秒杀、虚假评论、占座、刷票

  • 交易安全:虚假交易、恶意套现、盗卡支付


意义:如今网站为了防止用户利用机器人自动注册、登陆、灌水、刷票、薅羊毛等,都采用了验证码技术。

当下,随着科技的发展,验证码在交互形式上也获得了很大的提高,愈来愈注重用户体验,好比顶象的智能无感验证,推出了无需验证便可判别使用者身份的验证体系,其原理其实也很是简单。风控引擎在用户尝试登录或者作其余传统须要验证的操做行为前,就会对操做环境进行扫描,并对一些关键参数作分析,包括经常使用IP、地理位置、使用习惯、恶意特征、设备指纹等。基于大量模型和数据的分析,风控引擎即可以对用户身份作出一个预先的判断。若是风控引擎认为使用者是“好人”,便直接放行;若是断定为“机器”,则不予放行;若是存疑,便给出验证码滑一滑。

验证码能有效防止对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上用验证码是如今不少网站通行的方式(好比1230六、各大银行网上我的银行登陆页,BBS论坛等),虽然登录麻烦一点,可是对网站还来讲这个功能仍是颇有必要,也很重要。

相关文章
相关标签/搜索