当前位置: 首页 > news >正文

怎样申请个人网站推广普通话写好规范字手抄报内容

怎样申请个人网站,推广普通话写好规范字手抄报内容,wordpress字母头像,自己做的网站给人攻击了怎么办一、验证码 一般来说#xff0c;网站在登录的时候会生成一个验证码来验证是否是人类还是爬虫#xff0c;还有一个好处是防止恶意人士对密码进行爆破。 二、流程图 三、详细说明 3.1 后端生成验证码 Override public ResultMapString, String getVerifica…一、验证码 一般来说网站在登录的时候会生成一个验证码来验证是否是人类还是爬虫还有一个好处是防止恶意人士对密码进行爆破。 二、流程图 三、详细说明 3.1 后端生成验证码 Override public ResultMapString, String getVerificationCode() {// HuTool 定义图形验证码的长和宽, 验证码的位数干扰线的条数// 线段干扰的验证码LineCaptcha lineCaptcha CaptchaUtil.createLineCaptcha(116, 36, 4, 50);String uuid UUID.randomUUID().toString();String verificationCodeKey VerificationCode: uuid;// 存到 redis 中ValueOperationsString, String ops redisTemplate.opsForValue();ops.set(verificationCodeKey, lineCaptcha.getCode());// 设置 15 分钟的过期时间redisTemplate.expire(verificationCodeKey, 15, TimeUnit.MINUTES);MapString, String map new HashMap(2);map.put(verificationCodeBase64, lineCaptcha.getImageBase64());map.put(uuid, uuid);return Result.success(map); }记得设置验证码过期时间否则每一次生成验证码都会在 redis 里面产生数据造成内存浪费。 返回给前端的 json {code: 200,msg: 操作成功,data: {uuid: bc814884-fffb-4943-834a-40cc92decfa6,verificationCodeBase64: iVBORw0KGgoAAAANSUhEUgAAAHQAAAAkCAYAAABYFB7QAAAFtUlEQVR4Xu3YfUxVdRjAcW0zM6atSX84X1JhleMPI6VmtcxexFZs5qq5/mhNpxKV06TMiQrpVssxopClZr7QdFCycutFpmn4QhgkAJ2GaK8eUWUCxeIe70vT/f33J2zc557zr33nPM7B1C2zPvPc9BNz4751zvGBjttmoMPTCavrzxc3CGOgR9p/klepxbr/WRw8N2wq3ZeMYaahhxSuUoeqFdTRPxFHLCtS3en8Xh5ZxLlM2t3Nht9w3FteFTawJsEq4DHXem/eEjZkdyX8puEN7c5ZDkHNokTa2/f/7Fs9BQGyisprhRYuFrnl/yGQ4HNRlZr3MI8cXgCU1w16E83bpe9ZkBNg2URmGFBNjhlBSXjVlRXIaqBKsly0CjNRxhhXgCv3rykjhqGUFF0H/yxmsaXvmvJOOMtHjhFqUVgO3uVTEhx5pmUNuuBjfoTsKtOGkzh3Qr0lFxCTjTSjuDHfcrvr9iGoqkYXXFPgB2OuCsnpNFDmnOVVsO/cemKoEaLCXSwqxYavpwEV09k0JXp8cId15uKYzRDoD4/XM8qBdv41SKm5aABvxcuFc0H7p4Pf00rUpJazbKhshs2CffPlF2ftI6QXtL6uH5uRsEfHygh1DA3qjKhdvtc76g3RlOPoMVYsCU2itBQIAcZVrIX73fpiS8wvM3HgWZqz7GR5atQvs1wbo6bCsY6z4moK2LUzEiZZ4RU5YA52ZxRAYvGU9qO/ruCHoHhoOjg3Fvw0bXhYgVVSw9wv9sHKw80wNTMM4ozbcNpSF7Pv2xqAmwasDsNtu29Ctw17bh7FnvhVB2WteRQR1nM7Eq7PHdhjfZ8EzOGqlTdf2izAKqqe1RwIN2dLBewt74AOpxvcXj/YrvZDepENdwmbzkHK0tc13YppFNZjd0i2oaRXKEOloydVUJ/bCbaCyWDfMyN4cXpkOwE2Em4sRQPtnfUBPWSoi60uBEsMgjFAGrsVC1fv5tImuuaepbfcrr924tV5vSLytxZGcKOBshgqL9icY82I9dmvVhKrK69D895fMcFuuKedaDB52Xj3tnQkB8H3oFOulVNK6waqMN/Fz3EBTU17yJi1bT20RVsHrst5uGVZaD9rafx6rzywxLxWNe0BZIzKQGylJCNdrc7D8R1DWo/wNeR9kUHB5ZBuo4tR5Bb9YUyo7zRo0EymKoPGEf/Ogsgvr8AbqSlfrwCtkoJcAaAbYMtPGbBAS95Qp9xJbGUHnBUtD8Nd9JtqHW5D0njtEeyTqPoH1ubVcoBVZC1gNsCaj7Rj1iNh16jK5k8UAVQNsLs3BYDFUJliXF1QO8aGc1gta2hz9Dha67PHhO8ieVP7dtqdxtBYLrCWg3bV7EbSjjO8/pBS9QgVYYdRghbQCbyhuRKz8E610JfZ9VSees/qQTXZcgNWDq5YloOwLeAbaXfM1XXGPgtIocLSi4Z5v6kGspK0V0O500zUMeHyw8PMqPOd4/U265p4loJeLn0XQ/tZTdMW9aKA0LbhqrdgfuJg3vZKOFrdCc4BL37qLW90wgu5fNuWWEt/TFTsgTUvmcmgnq67XTFPSXQpJRZsuGda9CLYAxOadhzlj1Hrch00Lh9BVDzxb0I6ve4pCtTUgKlUWAtyMltcYrzaMtEOFx5DWHZd7pTPyzHW23u8Rb88t6qTAcVYrBszM0fAm1JoYuwls/OxuEZRU44VYLDXlvdkUk/ysZIiqBCAqwpuL4bIdDWRXSjmhpsYfUJ2RhJgFWqc/F9OGZnBDciqDRusEFICLgh0LMnBOoI/096tNRghSiwUWRaJNi6pFdwhqqYQfkUvM22PCUO9kEo7Sk0ZMAiybjDyxWEJsFYDWwvqdYC/PS2IkTwzyXBq3QfPWPEJr1qpbgU2EiTlyXgRMpa0DukLeWJsuFdJNhR0BGcEuwo6G3W/2buccxVrdRAAAAAAElFTkSuQmCC} }Base64 是一种用于将二进制数据编码为 ASCII 字符的编码方法我们这边用这个编码传递验证码图片数据在 verificationCodeBase64。 3.2 前端生成验证码图片 3.2.1 获取验证码 Base64 并且拼接 const updateVerificationCodeImage async () {// 图像类型const imageType image/png;const res await userGetVerificationCodeApi();if (res.data) {if (res.data.data) {verificationCodeBase64.value res.data.data.verificationCodeBase64;uuid.value res.data.data.uuid;// 拼接 Base64 图像数据verificationCodeImageSrc.value data:${imageType};base64,${verificationCodeBase64.value};}} };3.2.2 渲染到页面上 div classverificationCode-classimg :srcverificationCodeImageSrc alt验证码加载失败 /el-link classmx-1 clickupdateVerificationCodeImage看不清楚, 换一张/el-link /div3.3 前端用户点击登录 登录表单的数据加上 uuid 和验证码确保唯一性。 const form reactive({username: ,password: ,uuid: ,verificationCode: , });3.4 后端验证用户输入的验证码是否正确 Override public ResultAppUserLoginVO userLogin(AppUserLoginDTO appUserLoginDTO) {if (Objects.nonNull(appUserLoginDTO)) {// 先对验证码进行核对ValueOperationsString, String ops redisTemplate.opsForValue();String uuid appUserLoginDTO.getUuid();String verificationCode appUserLoginDTO.getVerificationCode();String verificationCodeKey VerificationCode: uuid;// redis 里面存的验证码String redisVerificationCode ops.get(verificationCodeKey);if (!Objects.equals(verificationCode, redisVerificationCode)) {// 用户填入的验证码与 redis 中的不相同return Result.success(new AppUserLoginVO(), 登录失败验证码错误);} else {// 相同ops.getOperations().delete(verificationCodeKey);}} }四、结果 五、参考资料 hutool-图形验证码
http://www.yutouwan.com/news/477178/

相关文章:

  • 东莞网站制作支付通道wordpress搭建是用临时域名
  • 网站开发如何压缩图片优化网站改版
  • 怎么可以自己制作网站大数据统计网站
  • 建设有访问量的网站wordpress微信支付宝
  • 网站必须做可信认证吗宝塔设置加速wordpress站点
  • 什么是网站交互性如何做网站聚合页
  • 盘锦市网站建设实时军事热点
  • 三鼎网络网站建设wordpress主题标签
  • 网站后期维护费用怎样版费python可以做的网站论文
  • 做网站帮外国人淘宝电商app开发公司
  • 网站如何做微信支付宝支付宝支付宝接口网站最好推广的方式
  • 网站如何能让百度收录泰州网站专业制作
  • 重庆网站制作天装修公司加盟店排行榜
  • 电子商务网站开发环境示范app开发培训班
  • 网站建设net接口网站建设html代码优化
  • 扬州有做义工的地方或网站嘛如何免费做一个网站攻略
  • 门户网站建设合同wordpress 源码解析
  • 做网站流程企业网站后台
  • 淮南营销型网站建设怎么样水墨风格网站欣赏
  • 汕头如何建设网站设计湖南众诚建设网站
  • 网站建设招标评分企业网站开发毕业报告
  • 做汽车特卖会的网站网站链接是什么
  • 淘宝网站建设的目标是什么网站怎么快速排名
  • 铜川公司做网站lynda wordpress
  • 冬创网站建设培训中心wordpress 入侵
  • 网站优化关键词怎么做wordpress 资源文件
  • 为什么要建设门户网站重庆专业的网站建设公司排名
  • 电子商务网站建设与管理是什么wordpress joomla
  • 重庆綦江网站制作公司哪家专业网站前端浏览器兼容如何做
  • 山西省建设厅政务中心网站云南网站建设是什么