yii2阿里云短信(阿里云 短信)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享yii2阿里云短信的知识,其中也会对阿里云 短信进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、yii框架中怎么通过手机短信找回密码
- 2、阿里云虚拟主机怎么部署yii2框架
- 3、怎样在Yii2中使用sea.js
- 4、哪个短信验证码平台好用
- 5、yii2 用户在线时长怎么实现
- 6、触发小时级流控permits:2是什么意思
yii框架中怎么通过手机短信找回密码
前端表单设计,这里主要定义了手机号码filed和和发送短信的按钮 'id' ='second'
?php $form = ActiveForm::begin(); ?
?= $form-field($model, 'loginMode')-hiddenInput(['value' = 'login_sms_code'])-label(false); ?
div class="form-group has-feedback login-mobile f-left"
?= $form-field($model, 'mobile')-textInput(['placeholder' = $model-getAttributeLabel('mobile')])-label(false) ?
span class="glyphicon glyphicon-phone form-control-feedback"/span
/div
?= Html::buttonInput(Yii::t('app', 'Get SMS Code'), ['class' = 'btn bg-yellow ', 'name' = 'signup-button', 'id' = 'second']) ?
div class="clear"/div
div class="form-group has-feedback"
?= $form-field($model, 'smsCode')-textInput(['placeholder' = $model-getAttributeLabel('smsCode')])-label(false) ?
span class="glyphicon glyphicon-mobile form-control-feedback"/span
/div
div class="footer bg-gray"
?= Html::submitButton(Yii::t('app', 'Login'), ['class' = 'btn bg-blue btn-block']) ?
/div?php ActiveForm::end(); ?
当发送短信的按钮 'id'='second' 被点击后,会通过js验证手机的合法性,然后发送短信,并进行倒计时。具体js部分代码如下
//发送验证码时添加cookiefunction addCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); //判断是否设置过期时间,0代表关闭浏览器时失效
if(expiresHours0){ var date=new Date();
date.setTime(date.getTime()+expiresHours*1000);
cookieString=cookieString+";expires=" + date.toUTCString();
} document.cookie=cookieString;
}//修改cookie的值function editCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); if(expiresHours0){ var date=new Date();
date.setTime(date.getTime()+expiresHours*1000); //单位是毫秒
cookieString=cookieString+";expires=" + date.toGMTString();
} document.cookie=cookieString;
}//根据名字获取cookie的值function getCookieValue(name){ var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;iarrCookie.length;i++){ var arr=arrCookie[i].split("="); if(arr[0]==name){ return unescape(arr[1]); break;
}
}
}
$(function(){
$("#second").click(function (){
sendCode($("#second"));
});
v = getCookieValue("secondsremained_login") ? getCookieValue("secondsremained_login") : 0;//获取cookie值
if(v0){
settime($("#second"));//开始倒计时
}
})//发送验证码function sendCode(obj){ var site = ''; var mobile = $("#loginform-mobile").val(); //检查手机是否合法
var result = isPhoneNum(); if(result){ //检查手机号码是否存在
var exists_result = dbCheckMobileExists(site+'site/check-mobile-exists',{"mobile":mobile}); if(exists_result){
doPostBack(site+'sms/send-login-code',{"mobile":mobile});
addCookie("secondsremained_login",60,60);//添加cookie记录,有效时间60s
settime(obj);//开始倒计时
}
}
}//检查手机号码是否存在function dbCheckMobileExists(url,queryParam){
$.ajax({ async : false,
cache : false,
type : 'POST',
url : url,// 请求的action路径
data:queryParam,
error : function() {// 请求失败处理函数
},
success:function(result){ if(result=='Success'){ return true;
} else{
alert('该手机号码不存在!'); return false;
}
}
});
}//将手机利用ajax提交到后台的发短信接口function doPostBack(url,queryParam) {
$.ajax({ async : false,
cache : false,
type : 'POST',
url : url,// 请求的action路径
data:queryParam,
error : function() {// 请求失败处理函数
},
success:function(result){ if(result=='Success'){
alert('短信发送成功,验证码10分钟内有效,请注意查看手机短信。如果未收到短信,请在60秒后重试!');
} else{
alert('短信发送失败,请和网站客服联系!'); return false;
}
}
});
}//开始倒计时var countdown;function settime(obj) {
countdown=getCookieValue("secondsremained_login") ? getCookieValue("secondsremained_login") : 0; if (countdown ==0) {
obj.removeAttr("disabled");
obj.val("获取验证码"); return;
} else {
obj.attr("disabled", true);
obj.val(countdown + "秒后重发");
countdown--;
editCookie("secondsremained_login",countdown,countdown+1);
}
setTimeout(function() { settime(obj) },1000) //每1000毫秒执行一次}//校验手机号是否合法function isPhoneNum(){ var phonenum = $("#loginform-mobile").val(); var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(phonenum)){
alert('请输入有效的手机号码!');
$("#loginform-mobile").focus(); return false;
}else{ return true;
}
}
上述代码中有两个方法是通过Ajax交互的,一个为验证手机是否合法的方法dbCheckMobileExists(),另一个是通过ajax发送短信码的方法doPostBack(). 具体每个方法的代码大家上面看就可以了。 dbCheckMobileExists()会提交到CheckMobileExists方法检查手机是否存在:
public function actionCheckMobileExists()
{ $mobile = Yii::$app-request-post('mobile');
if(User::findByMobile($mobile)){
echo 'Success';
}else{
echo 'Failed';
}
}
doPostBack()会提交到SendLoginCode方法发送登录验证码:
public function actionSendLoginCode()
{ $mobile = Yii::$app-request-post('mobile'); $code = $this-createCode(); $content = "本次验证码为".$code.",您正在登录纽仁云客管理系统,打死也不告诉别人哦";
if($this-send($mobile,$content)===true){
//检查session是否打开
if(!Yii::$app-session-isActive){
Yii::$app-session-open();
}
//验证码和短信发送时间存储session
Yii::$app-session-set('login_sms_code',$code);
Yii::$app-session-set('login_sms_time',time());
echo 'Success';
}else{
echo 'Failed';
}
}
在上述发送代码的时候,当发送成功时,会保存两个session,login_sms_code和login_sms_time,分别记录了验证码内容和生成时间。
当发送成功后,用户会收到验证码,然后输入后进行提交,此时我们会进行验证码的校验,这里我们是采用yii2 rules来完成此项任务。
在 LoginForm 表的里面的 rules 里面添加下面校验规则,大家可以看到这里写了关于手机和验证码的诸多验证规则,其实最后一个验证规则即为 验证短信码是否正确,这里我们通过requiredValue验证用户输入的值是否等于 getSmsCode 的值即可。
['mobile', 'required','on' = ['default','login_sms_code']],
['mobile', 'integer','on' = ['login_sms_code']],
['mobile','match','pattern'='/^1[0-9]{10}$/','on' = ['default','login_sms_code'],'message'='{attribute}必须为1开头的11位纯数字'],
['mobile', 'string', 'min'=11,'max' = 11,'on' = ['default','login_sms_code']],
['smsCode', 'required','on' = ['default','login_sms_code']],
['smsCode', 'integer','on' = ['default','login_sms_code']],
['smsCode', 'string', 'min'=6,'max' = 6,'on' = ['default','login_sms_code']],
['smsCode', 'required','requiredValue'=$this-getSmsCode(),'on' = ['default','login_sms_code'],'message'='手机验证码输入错误'],
上面的getSmsCode()代码如下,这里通过session获取了验证码和生成时间,如果在10分钟内,则返回验证码session的值。
public function getSmsCode()
{
//检查session是否打开
if(!Yii::$app-session-isActive){
Yii::$app-session-open();
}
//取得验证码和短信发送时间session $signup_sms_code = intval(Yii::$app-session-get('login_sms_code')); $signup_sms_time = Yii::$app-session-get('login_sms_time');
if(time()-$signup_sms_time 600){
return $signup_sms_code;
}else{
return 888888;
}
}
阿里云虚拟主机怎么部署yii2框架
可以部署 但是要修改下文件的结构
如果把 frontend\web 和 backend\web 里面的 web 调整到对外可访问的目录
怎样在Yii2中使用sea.js
公共js在布局文件引入,也就是main.php
单独view的js以及公共js都是使用$this-registerJs()
$this-registerJsFile()
$this-registerCss()
等方法引入
如果不行(上述方法一般可行,我在yii2就是这么用的),你可以使用use View;(前面的命名空间忘记了,你找一下,里面有上所述的方法)
然后实例化$view = new View(); 然后$this-registerJs()等等

哪个短信验证码平台好用
首先要说到手机短信验证码的用途,手机短信验证码的用途(1)防止别人恶意的频繁的注册或提交数据(2)可以绑定到用户手机,和客户建立一个连接。
短信验证码主要的考核要素有三个:到达率(是否能在非手机用户自身的条件和环境的下到达用户手机上)、及时性(是否能及时的下发到用户手机上)、稳定性(短信平台能否全年无故障的提供服务),这三点很重要。
其次还要了解短信平台公司的技术实力和服务质量,为啥我没有强调从事短信的年头,是因为很多老的公司一成不变的在使用老的方式和技术平台,显然随着互联网技术的快速发展,早已不能满足现在市场上的客户需求,建议从事该行业两年以前的公司而且有相应正规资质的公司可以考虑。我们公司用的是巴卜短信平台,这个公司以前主要是作软件开发的,也搭建了自己的短信平台,之后为了更为专注的提供移动通信服务独立了北京巴卜技术公司。另外手机在使用平台时有时会遇到验证码接收不到:可以检查是否有如下问题:
(1)手机装了拦截软件;
(2)手机关机、暂无信号、欠费或者停机;
(3)手机欠费停机充值后手机还没有由停机状态切换为正常状态;
(4)用户自己在运营商那边设置了黑名单;
(5)手机无法接收长度超过70个字的短信;
(6)手机在境外使用或者使用境外手机;
(7)手机短信息存储满了;
(8)个别地区有手机网络、运营商故障等;
(9)超次数下发短信。
最后提醒的是短信平台是不分区域的,并不是说当地的就好,外地的短信服务商就不好,没有区域划分质量的等级的,只是近区域的你可能方便去公司了解,但真正用到的也是通过网络操作的。
.
.
.
······································
Ghost win7安装如下:1、首先将u盘制作成u启动u盘启动盘,重启电脑等待出现开机画面按下启动快捷键,选择u盘启动进入到u启动主菜单,选取“【02】u启动Win8PE(新机器)”选项,按下回车键确认2、进入win8PE系统,将会自行弹出安装工具,点击“浏览”进行选择存到u盘中win7系统镜像文件。3、等待u启动pe装机工具自动加载win7系统镜像包安装文件,只需选择安装磁盘位置,然后点击“确定”按钮即可。4、此时在弹出的提示窗口直接点击“确定”按钮。5、随后安装工具开始工作,请耐心等待几分钟。6、完成后会弹出重启电脑提示,点击“是(Y)”按钮即可。7 、此时就可以拔除u盘了,重启系统开始进行安装,我们无需进行操作,等待安装完成即可,最终进入系统桌面前还会重启一次
yii2 用户在线时长怎么实现
这两天空的时候,看了下Yii2,然后按照官方教程,安装了Yii2基础版。最开始的问题,无非就是注册登陆等功能了,果然,Yii2基础版并不像高级版一样,可以直接导入创建好的数据库,只有的静态登陆模型。然后简单修改了下,实现动态登陆,在这里记录下。
一、Yii2基础版的登录思路
1、登录表单--》执行controller、action--》调用$model-load()=》调用$model-login()($model-login()来自于LoginForm)
2、$this-validate()验证,也就是基础的rule验证,rule验证中带有validatePassword验证,即会执行User::validatePassword()
3、验证通过,返回用户对象,验证失败,返回错误。
触发小时级流控permits:2是什么意思
这个是阿里云短信验证做了限制,permits:2。表示只允许发送两次。可以直接在阿里云短信服务里通用设置里设置,每个人一分钟限制条数,一小时发送条数,一天发送的条数。
短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。
支持向国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。
国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。完美支撑双11期间20亿短信发送,6亿用户触达。
有以下功能:
1,阿里云为全球企业客户提供国际/港澳台短信发送服务,通过API/SDK方式调用短信发送能力,将指定信息发送至境外手机号码。
2,支持通过短信形式发送通知。
3,在短信验证场景中,支持通过短信形式发送验证码。
4,支持多种推广内容的短信发放,为提升企业产品增加曝光率提供帮助。
yii2阿里云短信的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于阿里云 短信、yii2阿里云短信的信息别忘了在本站进行查找喔。
