首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

原生JS灵魂之问,看看你是否熟悉JavaScript?

笔者最近在对原生JS的知识做系统梳理,因为我觉得JS作为前端工程师的根本技术,学再多遍都不为过。...边界情况是否能够考虑到,有没有基本的 计算机素养(比如最基本的排序方法到底理不理解),未来有没有潜力去设计出更加优秀的产品或者框架。...但如果你觉得自己的原生编程能力还有待提高,想让自己的思维能力上一个台阶,希望我这篇"呕心沥血"整理了1w多字的文章能够让你有所成长。...some在碰到return ture的时候,中止循环 第八篇: JS判断数组中是否包含某个值 方法一:array.indexOf 此方法判断数组中是否存在某个值,如果存在,则返回数组元素的下标,否则返回...let temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } return; } 看似可以正确的完成排序

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

如何防止短信API接口遍历

第一种方式:白名单 这是最简单的一种方式,但应用场景有限,比如,在一些内部应用系统(从HR系统或其他系统同步手机号过来验证),此时,只需要验证是否为内部员工手机号,如不是,直接提示非内部员工手机号;如是...第二种方式:验证码(推荐) 用户点击获取短信验证码的时候,弹出图形验证码进行验证,同时发送图形验证码和手机号码到后台验证。 ? ?...另外,js代码混淆+短信api业务流控限制。 风险点:虽然做了代码混淆,但js加密算法一旦泄漏,并不是一种安全的措施,但也是一种比较容易实现的技术方案。...有可能误伤同一局域网下的用户,最好是登陆后允许发送,限制用户的发送次数 @密因:同一手机号,60秒内不能重复发送,24小时内总共发送不超过5次;2个及以上手机号,通过识别客户端特征,出口ip,随机字符串,判定是否为同一用户...@Loki⚡:我个人感觉,首先确保发送短信验证码的逻辑是正确的,然后可以根据业务的重要程度决定是用安全产品,还是自己开发人机识别功能。 1024:人机验证,设备号,帆布指纹, ip。

8.9K20

漫画:如何用脚本抢月饼?

很简单,原生Javascript当中有一个定时器函数 setInterval,该函数有两个参数,第一个参数是想要执行的回调函数,第二个参数是触发执行的间隔时间(单位毫秒)。...将刚才的自定义脚本保存为以user.js为后缀的 .js文件,例如test.user.js,拖入扩展程序页。 3. 重启浏览器。 4. 进入月饼抢购活动页面。此时脚本已自动执行。...将刚才的自定义脚本保存为 .js文件,例如test.user.js,拖入页面空白处。 4. 进入月饼抢购活动页面。此时脚本已自动执行。...关于验证码: 在一般的网页中,为了防刷,都会在提交请求之前让用户输入动态的验证码: 动态验证码有效防止了绝大多数JS脚本的自动提交行为。...可是,如果抢购页面的开发人员偷懒,只是在抢购页面里引用了固定不变的验证码图片,那么请求和验证流程就变成了下面的样子: 这样一来,只要知道静态的验证码是什么,脚本就可以轻松填写正确验证码

77810

Axios请求验证码踩坑日记之异步执行

错误开始 今天用Vue写一个登录页面获取验证码,但是不同寻常的是,我这里接入了极验认证。 先看看这张图,我Axios进行了封装,所以api是调用post请求。...当后端返回状态码为200时,发送获取验证码请求,同时启动定时器。 当时没想那么多,就直接定义了个定时器(原先这个定时器是写在Axios请求外面的,但是我需要后端返回成功信息才调用,所以移了进来)。...但是进来之后就出错了,验证码照常获取和写入Redis,但是验证码的计时就是不开始。 说明:图上这段代码是正确的,我之前的是没window调用的,是使用this.setInterval,所以不行。...于是我在许多地方都输出了这个验证码是否成功的状态值——>form.codeSuccess。 发现除了在Axios请求里面是true,其余全是false。...我输出一下this给大家看看: 所以我没法调用到原生js的window对象里面的timer。 于是就直接使用window调用吧。

58440

原生 JavaScript + NodeJS(Express 框架) 做一个简陋的登录注册项目

/bin/www 或者 npm start 前后端都开 npm run dev 完成点 [x] 登录 [x] 注册 [x] 密码强度前端判定(很弱,仅仅是装装样子) [x] token 保留登录状态...里写各种 api, 通过 model.js 里导出的 User 进行数据增、查操作, 定义了一些中间件来对输入的用户名,密码和,验证码进行检验....定义了 User 对象, 当 server.js 中执行 User.create 操作时, 密码就会被加盐, 然后哈希, 存入数据库. bcrypt 的盐无需存储....svg-captcha 生成, 前端有一个 img 标签调用验证码 api, 并得到图片, 服务端将验证码文字存入 session 中....next():res.status(422).send("验证码正确") }; 需要处理一下跨域问题, 因为生成验证码和验证验证码的 api 不同, 这样 session 可以共享 app.all("

83620

Vue+element注册表单判定

isReg: '', // 手机号是否存在的判定验证,最后在提交表单里还需要再次验证 isCodeCorrect: false, // 如果是分步骤的,需要判断手机号的验证码是否正确...GetCode: {}, // 如果是分步骤的,需要验证手机号的验证码是否正确 count: '', // 发送验证码的计时器变量 timer: null, /...(error) }) }, // 点击发送验证码 sendCode () { // 倒计时 // 先判断手机号是否填写正确 var...手机号已被注册的判定就是通过增加了一个isReg的变量判断,使用userPhoneExist()这个方法来确定是否显示的 二、自定义element验证是否被注册 <div...GetCode: {}, // 如果是分步骤的,需要验证手机号的验证码是否正确 count: '', // 发送验证码的计时器变量 timer: null, /

1.6K30

软件测试(测试用例)—写用例无压力

测试激活邮寄的基本功能: 邮件能不能打开 邮件的格式,内容够是否正确; 邮件里面的激活链接是否正常; 这些是逻辑来测试用例。...规则: 1、判定表中贯穿条件项和动作项的一列就是一条规则 2、假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则 3、步骤: 1)、明确需求 2)、画出判定表 列出条件桩和动作桩...(相当于逻辑图) 逻辑关系:恒等 与 或 非 因果图法设计测试用例的步骤: 1、分析出所有的输入和输出; 2、找出输出和输出之间的关系; 3、画因果图; 4、画判定图; 5、把判定表转换成测试用例;...验证码输入; (5)、姓名输不不入,邮箱输入,密码输入,确认密码输入,验证码输入; (6)、姓名不输入,邮箱输入,密码不输入,确认密码不输入,验证码不输入; 三、实际操作中注意的点 3.1测试用例的注意点...作用:方便评审,方便执行 1、用例标题:预期结果(测试点) 2、验证码测试点:为空,正确,错误,过期 3、前置条件和测试步骤,测试步骤是按前置条件后进行的,要么前置条件写的多,要么测试步骤写的多。

1K30

2022了测试人还不会测试用例?这么写用例毫无压力..

测试激活邮寄的基本功能: 1、邮件能不能打开 2、邮件的格式,内容够是否正确; 3、邮件里面的激活链接是否正常; 这些是逻辑来测试用例。...规则: 1、判定表中贯穿条件项和动作项的一列就是一条规则 2、假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则 3、步骤: 1)、明确需求 2)、画出判定表 列出条件桩和动作桩...; (2)、姓名输入,邮箱输入,密码不输入,确认密码不输入,验证码输入; (3)、姓名输入,邮箱输入,密码输入,确认密码不输入,验证码不输入; (4)、姓名不输入,邮箱不输入,密码不输入,确认密码输入,...验证码输入; (5)、姓名输不不入,邮箱输入,密码输入,确认密码输入,验证码输入; (6)、姓名不输入,邮箱输入,密码不输入,确认密码不输入,验证码不输入; 三、实际操作中注意的点 3.1测试用例的注意点...作用:方便评审,方便执行 1、用例标题:预期结果(测试点) 2、验证码测试点:为空,正确,错误,过期 3、前置条件和测试步骤,测试步骤是按前置条件后进行的,要么前置条件写的多,要么测试步骤写的多。

77110

基于Python实现原生的登录验证码

1、概述 在前面的文章中,我有分享到vue+drf+第三方滑动验证码的接入实现(文中也留了坑分享图片验证码功能的实现),即本文将要分享的是基于python实现原生的登录验证码 通常的验证码,人眼看上去更像是一张小图片...password = request.POST.get('password') code = request.POST.get('code') # 1 先校验验证码是否正确...# 校验用户名和密码是否正确 user_obj = auth.authenticate(request,username=username,password=password)...,如果点击验证码也不会进行刷新,只能通过刷新登录页面才能刷新验证码,因此需要想办法让用户在点击验证码时自动刷新(单独触发验证码的视图函数) 每次在点击时,修改对应src的值即可,可以通过一小段js实现...}) 3、效果展示 最终前端的验证码效果如图 4、小结 本文基于python以及相关的库原生实现了登录验证码逻辑~ 其实写本文也是因为之前有过想法但是一段时间就忘了,最近通过某银行手机银行

74230

如何设计测试用例?

比如等价类划分法、边界值分析法、场景法、因果图方法、判定表驱动分析法、正交实验设计方法、功能图分析方法、场景设计方法.........输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确。 用户名和密码两者都为空,验证是否登录失败,并且提示信息正确。 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确。...如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确验证码,验证是否登录成功。...如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确。...前端页面是否根据设计要求限制用户名和密码长度。 如果登录功能需要验证码,点击验证码图片是否可以更换验证码,更换后的验证码是否可用。 刷新页面是否会刷新验证码

41810

【Django开发】美多商城项目第3篇:用户注册和图片验证码开发(附代码,文档已分享)

P[\w-]+)/请求参数: 路径参数参数类型是否必须说明image_code_iduuid字符串是图片验证码编号返回数据:验证码图片视图原型# url('^image_codes...业务处理流程检查图片验证码检查是否在60s内有发送记录生成短信验证码保存短信验证码与发送记录发送短信2. 后端接口设计:访问方式: GET /sms_codes/(?...image_code_id=xxx&text=xxx请求参数: 路径参数与查询字符串参数参数类型是否必须说明mobilestr是手机号image_code_iduuid字符串是图片验证码编号textstr...是用户输入的图片验证码返回数据: JSON返回值类型是否必传说明messagestr否OK,发送成功视图原型:# url('^sms_codes/(?...= text.lower(): raise serializers.ValidationError('图片验证码错误')​ # 判断是否在60s内 mobile

13410

云开发系列(一):实现验证码登录

(4)前端接受短信,提交完整表单 (5)后端判断是否符合映射关系,判断是否登录成功 听起来好像很简单,但是要从0开发,那就问题多多了......" } } if(result.code == queryString.code) { //验证码校验正确 updateRedis(redisStore, queryString.phone..., result, false) return { codeStr: 'CodeIsError', msg: "请检查手机号和验证码是否正确" } } } /...//localhost:%s', SSLPORT); }); 太快乐了,一个前端到现在还在看着后端写代码呢,wow~ [这就是个年轻前端的发言] 事实上,在云端这么发达的今天,加上V8引擎和Node.js...也就是整体上云,采用云原生架构开发 云原生架构开发 cloudbase是什么 cloudbase 是Serverless 云原生一体化产品方案,助力小程序、Web应用、移动应用成功。

3.5K173

SRC逻辑漏洞挖掘详解以及思路和技巧

任意密码重置 在忘记密码功能,我们输入用户名正确后会进行短信验证码,通过手机验证码或者邮箱验证码。 ?...在验证码功能中输入验证码进行验证,发现其中有一段JavaScript代码document.userreg.yzm_mobile2.value=='no'是用来验证验证码是否正确,那么就可以直接在控制台直接改变这个值就可以绕过验证码...任意密码重置 该漏洞出现的文件路径为:/member.php //检测旧密码是否正确 if($password !...越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定。所以测试越权就是和开发人员拼细心的过程。...4.通过搜索引擎,或者提取JS中的URL,查找隐藏功能。如burpsuite中有一个BHP JS scraper的插件。 5.猜测隐藏的参数,添加进去查看变化,如修改信息的时候加个ID。

5K11
领券