验证码的实现

本文介绍了如何使用SVG-Captcha模块在Node.js中实现验证码功能。通过在HTML中设置<img>标签的src属性为服务器端的接口,可以实时获取到生成的验证码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、验证码的实现

1、需要svg-captcha模块

 2、在标签<img src=''>中的src自身带有一个get请求 故可以直接输入接口从服务器端直接获取端口

<body>
<input typt='text'>
<img src='/getpic'>   //getpic 接口
</body>
<script>
    $(function(){
        $.ajax({
            type:'get',
            url:'/gettext',
            data:{
                text:$('input').val()
            },
            datatype:'JSON'
            success(res){
                if(res。message=='验证码正确'){
                     console.log('验证正确')                               
                }else{
                     console.log('验证错误')
                }
            }
        })
    })
</script>
const express = require('express')
const app = express()
const svg = require('sve-captcha')  //获取验证码模块
const cookiesession = require('cookie-session')
app.use(express.static('./www'))   //静态托管
app.listen(8088)  //端口
app.use(cookiesession({     //设置session
    key:['as','as','sad'],    //安全码
    maxAge:60*1000*20        // session 保存时间
}))
app.get('/getsvg',(req.res)=>{
    let captcha = svg.create({
        //验证码类型可以设置
    })
    req.session.text = captcha.text
    res.type('svg')  //传输的数据类型
    res.send(captcha.data)   //传输至接口随机产生的captcha
})
app.get('/gettext'.(req.res)=>{
    let {text}=req.query
    if(req.session.text.toupcase()==text.toupcase()){
        res.send({message:验证码正确})
    }else{
        res.send({message:验证码错误})
    }
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值