动态验证码(Dynamic Verification Code)是一种用于验证用户身份或防止恶意操作的安全机制。在Web开发中,动态验证码通常以图片或文本的形式显示,每次请求都会生成一个新的验证码,以确保验证码的唯一性和时效性。
动态验证码通常包括以下几个部分:
以下是一个简单的图片验证码生成和验证的示例代码:
const express = require('express');
const svgCaptcha = require('svg-captcha');
const app = express();
app.get('/captcha', (req, res) => {
const captcha = svgCaptcha.create();
req.session.captcha = captcha.text; // 将验证码文本保存到session中
res.type('svg');
res.status(200).send(captcha.data);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
app.post('/verify', (req, res) => {
const userInput = req.body.captcha;
if (userInput === req.session.captcha) {
res.status(200).send('验证码正确');
} else {
res.status(400).send('验证码错误');
}
});
/captcha
接口来获取新的验证码。通过以上方法,可以实现一个简单且安全的动态验证码系统。
领取专属 10元无门槛券
手把手带您无忧上云