zoukankan      html  css  js  c++  java
  • 验证码的技术实现原理

      在网页上登录账号密码时,都会用到验证码。在12306买火车票的时候也会用到验证码。一直不知道验证码的用处和技术,这两天趁着有时间好好的调研了一下相关的技术。验证码又被称作全自动区分计算机和人类的图灵测试,用大白话来说就是验证码。主要是用来区分计算机和人的全自动化程序。作为服务器端的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答出自动生成的问题,所以回答出问题的用户就可以被认为是人类。在以前的网络访问中,还不存在验证码的用法,但由于网络更加深入地融合到人们的生产生活中,暴力猜测登陆,垃圾广告贴等在网络中泛滥,消耗了大量的服务器资源同时也可能威胁到服务器的安全,验证码作为一种实用高效技术被大量使用起来。

    验证码的形式:

      随机数字输入验证,原理:向服务端请求,生成随机的字符,写入会话请求,同时将随机字符生成对应图片,响应给前端;前端输入对应字符的验证码,向后台发起校验。

      

     

      数字计算验证,原理:同上,就是减少了字符的输入。

      图片选择验证 ,原理生成图片验证码,当然生成验证码的具体实现可以放在另一工程中或者其他的服务器上(可以通过dubbo调用生成验证码服务);用户输入界面上的图片验证码,进行服务端校验。

      拼图互动验证

     

      点击式图片验证

      验证码的原理差不多都大同小异,但是在交互体验上却相差很大,时间花费最少的,是用户认为最便捷的。

      

  • 相关阅读:
    windows下端口映射(端口转发)
    SQLServer 2008 复制同步(发布、订阅)的几个问题
    SqlServer:此数据库处于单用户模式,导致数据库无法删除的处理
    jQuery函数的等价原生函数【转载】
    JavaScript学习第三天
    持续集成工具hudson【转载】
    linux-unzip命令【转载】
    javascript学习第一天
    java.util.Properties
    Eclipse快捷键【转载】
  • 原文地址:https://www.cnblogs.com/yseeksky/p/10517283.html
Copyright © 2011-2022 走看看