node实现短信登陆验证
发布于 6 年前 作者 liushaobo05 5461 次浏览 来自 问答

使用微米短信API做登陆验证,代码如下, var http = require(‘http’); var querystring = require(‘querystring’); var postData = { uid:’<enter your UID>’, pas:’<enter your UID Pass>’, mob:’<enter your mobiles>’, con:’【微米】您的验证码是:610912,3分钟内有效。如非您本人操作,可忽略本消息。’, type:‘json’ }; var content = querystring.stringify(postData); var options = { host:‘api.weimi.cc’, path:’/2/sms/send.html’, method:‘POST’, agent:false, rejectUnauthorized : false, headers:{ ‘Content-Type’ : ‘application/x-www-form-urlencoded’, ‘Content-Length’ :content.length } }; var req = http.request(options,function(res){ res.setEncoding(‘utf8’); res.on(‘data’, function (chunk) { console.log(JSON.parse(chunk)); }); res.on(‘end’,function(){ console.log(‘over’); }); }); req.write(content); req.end(); /* 注意:以上参数传入时不包括“<>”符号 */ 发送的信息却不是定义的con内容,系统自带的,求问,怎么后台怎么获得短信验证的随机码

13 回复

con内容就是你自己写的 ,你自己写的你怎么获取不到验证码

@AaronWB 短信模板是商家提供的,我定义的模板没起作用

@lonso OK,多谢

你这是angular.js前台吗?

@wangwanttt 不是,node.js啊

一般来说这个随机的验证码是你后端自己生成,缓存在redis里(手机号作为key)或者哪里,30分钟失效,下次验证的时候用手机号来查询对应的验证码,验证是否是这个验证码就可以了,验证完成后清除

@luoyjx 看了一些技术分享都把验证码存在redis中,设置生存周期,如果请求量不是很大的情况下,从原理上来说,session也可以用来存放验证码,然后设置生存周期

只要有短信接口,一切都好说。。。。

一般都0.1一条吧

找了个有七天试用期的

@liushaobo05 那你用什么存储session呢?内存吗?如果有两个进程你怎么保证存在进程1中的验证码下次验证时不是进程2收到请求,如果使用redis或者mongo那和直接操作有啥区别呢?

@44886 阿里大鱼0.045

From KoaHub.js

回到顶部