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

在网上建设网站泰州网站建设 思创

在网上建设网站,泰州网站建设 思创,西安网站开发工程师,网站检测中心图形验证码是网站安全防护的重要组成部分#xff0c;能有效防止自动化脚本进行恶意操作#xff0c;如何实现一个简单的运算图形验证码#xff1f;本文封装了一个简单的js类#xff0c;可以用于生成简单但安全的图形验证码。它支持自定义验证码样式#xff0c;包括字体大小… 图形验证码是网站安全防护的重要组成部分能有效防止自动化脚本进行恶意操作如何实现一个简单的运算图形验证码本文封装了一个简单的js类可以用于生成简单但安全的图形验证码。它支持自定义验证码样式包括字体大小、颜色以及干扰线的数量和样式。如下图。 核心js文件如下 // mcaptcha.jsexport class Mcaptcha {constructor(options) {this.options options;this.fontSize 24;this.init();this.refresh();}init() {this.ctx wx.createCanvasContext(this.options.el);this.ctx.setTextBaseline(middle);this.ctx.setFillStyle(this.randomColor(180, 240));}refresh() {var code ;var num1 this.randomNum(0, 9)var num2 this.randomNum(0, 9)this.options.createCodeImg code;code num1 num2 ?this.options.num1 num1;this.options.num2 num2;let arr [code]if (arr.length 0) {arr [e, r, r, o, r];};let offsetLeft this.options.width * 0.6 / (arr.length - 1);let marginLeft this.options.width * 0.2;arr.forEach((item, index) {this.ctx.setFillStyle(this.randomColor(0, 180));let size this.randomNum(24, this.fontSize);this.ctx.setFontSize(size);let dis offsetLeft * index marginLeft - size * 0.3;let deg this.randomNum(-1, 1);this.ctx.translate(dis, this.options.height * 0.45);this.ctx.rotate(deg * Math.PI / 180);this.ctx.fillText(item, 2, this.randomNum(0,10));this.ctx.rotate(-deg * Math.PI / 180);this.ctx.translate(-20, -this.options.height * 0.6);})for (var i 0; i 4; i) {this.ctx.strokeStyle this.randomColor(40, 180);this.ctx.beginPath();this.ctx.moveTo(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height));this.ctx.lineTo(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height));this.ctx.stroke();}for (var i 0; i this.options.width / 4; i) {this.ctx.fillStyle this.randomColor(0, 255);this.ctx.beginPath();this.ctx.arc(this.randomNum(0, this.options.width), this.randomNum(0, this.options.height), 1, 0, 2 * Math.PI);this.ctx.fill();}this.ctx.draw();}validate(code) {var code Number(code)var v_code this.options.num1 this.options.num2if (code v_code) {return true} else {this.refresh()return false}}randomNum(min, max) {return Math.floor(Math.random() * (max - min) min);}randomColor(min, max) {let r this.randomNum(min, max);let g this.randomNum(min, max);let b this.randomNum(min, max);return rgb( r , g , b );} } 使用方法 以微信小程序为例其他环境适当修改。 引入Mcaptcha.js import Mcaptcha from ./mcaptcha.js;2.初始化Mcaptcha实例 在你的页面的JS文件中创建一个Mcaptcha实例并传入相应的配置选项。 Page({onLoad: function() {new Mcaptcha({el: captchaCanvas, // canvas的IDwidth: 300, // canvas的宽度height: 150 // canvas的高度});} });3.在WXML中添加Canvas元素 在页面的WXML文件中添加一个Canvas元素用于展示验证码。 canvas canvas-idcaptchaCanvas stylewidth: 300px; height: 150px;/canvas4.使用Mcaptcha实例生成验证码 调用Mcaptcha实例的refresh方法来生成验证码。 Page({// ...onShow: function() {// 假设mcaptcha是之前创建的Mcaptcha实例mcaptcha.refresh();} });5.验证用户输入 当用户输入验证码并提交时调用Mcaptcha实例的validate方法进行验证 Page({// ...checkCaptcha: function(inputCode) {// 假设mcaptcha是之前创建的Mcaptcha实例if (mcaptcha.validate(inputCode)) {wx.showToast({title: 验证成功,icon: success});} else {wx.showToast({title: 验证失败请重试。,icon: none});}} });Mcaptcha.js的核心方法 refresh(): 生成新的验证码包括随机数字、运算符和干扰元素。validate(code): 验证用户输入的验证码是否正确返回布尔值。randomNum(min, max): 生成指定范围内的随机数。randomColor(min, max): 生成指定范围内的随机颜色。
http://www.w-s-a.com/news/848086/

相关文章:

  • 企业网站推广方案策划公司网站在国外打开很慢使用cdn好还是国外租用服务器好
  • 龙华o2o网站建设百度不收录什么网站吗
  • 模板搭建网站百度信息流推广
  • 移动端网站制作模板自己做的网站点击赚钱
  • 网站站长如何赚钱wordpress抓取别人网站
  • 做网站媒体专门做产品定制的网站
  • 公司企业网站建设步骤免费asp网站模板
  • 台州企业网站搭建价格做留言的网站
  • 西安网站建设q.479185700強高端网站设计定制公司
  • 网站设计是平面设计吗音频文件放到网站空间里生成链接怎么做
  • seo是对网站进行什么优化可以在哪些网站做翻译兼职
  • 南宁seo网站推广服务网站建设客户分析
  • 网站属于什么公司甜品售卖网站网页设计
  • 如何在宝塔中安装wordpressseo1888网站建设
  • 网站系统cms湖南平台网站建设制作
  • 美团网站怎么做未备案网站加速
  • 通用cms网站wordpress可以商用
  • 阳江网络问政平台 周报济南seo公司案例
  • 重庆聚百思网站开发网络市场调研
  • seo工具共享网站敬请期待的英语
  • 最好看免费观看高清大全中国移动网络优化做什么的
  • 网站开发的步骤医院网站建设细节
  • 阿雷网站建设wordpress lucene
  • seo做多个网站建筑公司企业标语
  • 各大网站收录查询汕尾手机网站设计
  • 东莞网站平台费用58同城推广能免费做网站吗
  • 网站建设的组织机构做博客网站赚钱吗
  • 移动网站建设的前期规划内容南阳网站备案
  • 天津公司网站建设公司哪家好网站建设评估
  • 猪八戒网网站建设wordpress建网 打不开