Web制作验证码的功能实例代码

怪我咯
Lepaskan: 2017-07-13 15:19:05
asal
1826 orang telah melayarinya

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类

下面通过实例代码给大家介绍Web制作验证码功能实例代码,感兴趣的朋友一起看看吧

   实现效果:

  实现原理:

   由后台提供生成验证码的接口,前端每次请求会后端会生成验证码图片和验证码,验证码图片发送到客户端供客户端显示,

   验证码字符串保存再后端的Session中,待前端再次请求业务接口与session里的验证码字符串做比对。

   实现思路:

   1、先由后端提供可以生产验证码图片的接口

   2、前端通过 img 中设置 src 属性,请求验证码生成的接口。

   3、对img设置点击事件,每次点击img的时候,都会改变src值重新请求src

   4、做页面接口操作时,比对输入的验证码是否正确

   实现代码:

   前端:

     html:   

<p class="centent-top" style=""> 
   <p class="centent-left"><span>*</span>验证码:</p> 
   <input type="text" class="verification-code-input"> 
   <p class="verification-code"><img id="yzm" src="/SchoolRoll/accuser/code/check"></p> 
   <p class="change"><span>看不清?</span><span style="color:#37CAF2;cursor: pointer;" id="changeImgCode">换一张</span></p> 
  </p>
Salin selepas log masuk

js:

var yzm =document.getElementById("yzm"); 
 var changeImgCode =document.getElementById("changeImgCode"); 
 yzm.onclick=function () { 
  changPin(); 
 } 
 changeImgCode.onclick=function () { 
  changPin(); 
 } 
 // 换验证码 
 function changPin() { 
  $("#yzm").attr("src", "/SchoolRoll/accuser/code/check?time=" + Math.random()); 
 }
Salin selepas log masuk

Atas ialah kandungan terperinci Web制作验证码的功能实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan