1.短信验证码平台

云之讯短信验证码平台
注册账号实名验证,余额充值,获取对接密钥等信息
添加短信模板并审核通过

2.发送验证码代码

<?php
namespace Home\Controller;
use Think\Controller;//默认控制器
class SmsController extends Controller {//API请求地址const BaseUrl = "https://open.ucpaas.com/ol/sms/";//开发者账号ID。由32个英文字母和阿拉伯数字组成的开发者账号唯一标识符。private $accountSid;//开发者账号TOKENprivate $token;public function  __construct($options){if (is_array($options) && !empty($options)) {$this->accountSid = isset($options['accountsid']) ? $options['accountsid'] : '';$this->token = isset($options['token']) ? $options['token'] : '';} else {throw new Exception("非法参数");}}private function getResult($url, $body = null, $method){$data = $this->connection($url,$body,$method);if (isset($data) && !empty($data)) {$result = $data;} else {$result = '没有返回数据';}return $result;}/*** @param $url    请求链接* @param $body   post数据* @param $method post或get* @return mixed|string*/private function connection($url, $body,$method){if (function_exists("curl_init")) {$header = array('Accept:application/json','Content-Type:application/json;charset=utf-8',);$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);if($method == 'post'){curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$body);}curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$result = curl_exec($ch);curl_close($ch);} else {$opts = array();$opts['http'] = array();$headers = array("method" => strtoupper($method),);$headers[]= 'Accept:application/json';$headers['header'] = array();$headers['header'][]= 'Content-Type:application/json;charset=utf-8';if(!empty($body)) {$headers['header'][]= 'Content-Length:'.strlen($body);$headers['content']= $body;}$opts['http'] = $headers;$result = file_get_contents($url, false, stream_context_create($opts));}return $result;}/**单条发送短信的function,适用于注册/找回密码/认证/操作提醒等单个用户单条短信的发送场景* @param $appid        应用ID* @param $mobile       接收短信的手机号码* @param $templateid   短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID* @param null $param   变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)* @param $uid           用于贵司标识短信的参数,按需选填。* @return mixed|string * @throws Exception*/public function SendSms($appid,$templateid,$param=null,$mobile,$uid){$url = self::BaseUrl . 'sendsms';$body_json = array('sid'=>$this->accountSid,'token'=>$this->token,'appid'=>$appid,'templateid'=>$templateid,'param'=>$param,'mobile'=>$mobile,'uid'=>$uid,);$body = json_encode($body_json);$data = $this->getResult($url, $body,'post');return $data;}/**群发送短信的function,适用于运营/告警/批量通知等多用户的发送场景* @param $appid        应用ID* @param $mobileList   接收短信的手机号码,多个号码将用英文逗号隔开,如“18088888888,15055555555,13100000000”* @param $templateid   短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID* @param null $param   变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)* @param $uid         用于贵司标识短信的参数,按需选填。* @return mixed|string * @throws Exception*/public function SendSms_Batch($appid,$templateid,$param=null,$mobileList,$uid){$url = self::BaseUrl . 'sendsms_batch';$body_json = array('sid'=>$this->accountSid,'token'=>$this->token,'appid'=>$appid,'templateid'=>$templateid,'param'=>$param,'mobile'=>$mobileList,'uid'=>$uid,);$body = json_encode($body_json);$data = $this->getResult($url, $body,'post');return $data;}}

3.调用方法发送验证码

public function sendMessage(){$mobile = '13912345678';$code = '123456';$uid = '123456';$options['accountsid']='16997d8eeb6******530d82cb28b21';//填写在开发者控制台首页上的Account Sid$options['token']='73d5d709dd31******1d3dc04fe39e8';//填写在开发者控制台首页上的Auth Token$ucpass = new \Home\Controller\SmsController($options);//初始化 $options必填$appid = "e9d37263d4******540d26455e31e";    //应用的ID,可在开发者控制台内的短信产品下查看$templateid = "5**75";    //可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID$res = json_decode( $ucpass -> SendSms($appid,$templateid,$code ,$mobile,$uid));//$uid用户透传ID,随状态报告返回,自定义参数原样返回dump($res);
}

thinkphp3.2对接短信验证码平台代码相关推荐

  1. 注册app短信验证平台_短信验证码平台能免费测试吗?怎么测试?

    短信验证码的运用在用户注册.用户登录.忘记密码.支付确认.登录异常等等场景,可以说很多企业/网站都会需要用到短信验证码.那对于有短信验证码需求的企业来说,在挑选短信验证码平台时,比较关心的一点就是短信 ...

  2. 注册app短信验证平台_免费的短信验证码平台弊端竟然这么多!

    现如今人们为了工作和生活方便,就注册了大量的网站/app账号,而短信验证码就成为了验证用户身份必不可少的方式,尤其在涉及到付款行为中,手机短信验证成为"必经之路",成为了保证用户安 ...

  3. 怎么免费测试短信验证码平台的安全稳定性?

    如何测试短信验证码平台的安全和实用性?因为用户对于陌生事物,总是有着一定的警惕心理!而且再加上平台大多数属于"先充值后使用"付费模式,一些用户就担心,短信验证码发送成功率低怎么办? ...

  4. 短信验证码的作用是什么?如何选择靠谱的短信验证码平台?

    验证码常被用于网站.移动应用注册.登录等环节的身份核验,以证明当前的账号操作与所绑定的手机号码的一致性. 短信验证码的出现,为账号+密码登录又增加了一道防线.以往网站和移动应用在注册.登录.支付或是密 ...

  5. html一键短信代码,javascript发送短信验证码实现代码

    本文首先分析手机发送验证码的原理,再对javascript发送短信验证码予以实现,具体思路如下: 实现点击"发送验证码"按钮后,按钮依次显示为"59秒后重试". ...

  6. 这几个条件教你选择靠谱的短信验证码平台!

    大家都知道短信验证码,我们在网站注册,APP,更改密码等.对于今天的各种网站和APP注册,接收短信验证码几乎是提高信息安全.保护用户操作安全和防止恶意注册的一项基本服务.由于短信验证非常重要,所以选择 ...

  7. net项目对接java平台_用Java解决项目对接短信验证码难问题:OkHttp和Unirest介绍

    这几个月都在用java 做 一个企业的积分商城 系统, 需要用户用手机号码进行注册登录,所以需要接入一个短信验证码进去. 短信验证码实现流程 1 .构造手机验证码,生成一个 4 位的随机数字串: 2 ...

  8. 短信验证码倒计时代码

    功能:点击获取验证码,开始倒计时,按钮不能点击,倒计时结束后,恢复原来的样子,可以继续点击. html代码: <div class="input-item"><i ...

  9. java云片模板参数_Java使用云片API发送短信验证码的代码详解

    这篇文章主要介绍了Java使用云片API发送短信验证码,主要用的是Java实现短信验证码.需要的朋友可以参考下 下面开始介绍的是如何利用机器完成批量操作,将短信业务自动化. 获取APIKEY 云片网提 ...

最新文章

  1. AI基础:经典卷积神经网络
  2. 分分钟实现底部导航栏:BottomNavigationBar快速集成
  3. 将项目绑定https协议
  4. 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)...
  5. I00030 Grades conversion
  6. GT_Trace的使用
  7. ICS TRIPLEX模块T9110、T8461、T8110B、T8480C、T9110、T9451、T9402、T9432、T9110、T9310-02、1433/09232486825、9100
  8. react-native 0.63.4 Xcode升级到13后遇到的问题
  9. php渐变闪动字体代码,33种超好看彩色闪字渐变代码分享
  10. 前端模板template
  11. Origin 画图——简单的柱状图画法
  12. 历史类:罗马帝国兴亡史
  13. 降低管理成本、增强团队协作
  14. 6500元都不到?战神Z8-DA5NP配置强悍,神船的性价比又回来了
  15. [高数][高昆轮][高等数学上][第一章-函数与极限]09.连续函数的运算和函数的连续性...
  16. 计算机网络管理工作记录,网络管理如何查看电脑开机、关机记录
  17. 德不配位,必有灾殃(我整整读了五遍,太透彻了!)
  18. 2022年9月全球数字安全最新新闻汇总
  19. qt creator 32位linux,Qt Creator下载mac版-Qt Creator Mac版下载 V4.14.2-PC6苹果网
  20. 以太网帧,IP,TCP,UDP首部结构

热门文章

  1. Elasticsearch:使用 Elasticsearch 和 BERT 构建搜索引擎 - TensorFlow
  2. html 手机端拖拽效果,JS实现移动端触屏拖拽功能
  3. linux select函数好处,linux下的epoll较之传统的select函数比较其优点
  4. 你还敢用超级旋风下载吗?
  5. 【微信】【汇总】微信小程序开源项目库汇总
  6. 年度最精彩研究,CVPR 2017六篇最佳论文介绍(附打包下载)| CVPR 2017
  7. linux 监控进程撤销,linux 系统监控脚本
  8. USB2.0 HUB芯片方案-GL850G
  9. tomcat11、tomcat10 安装配置(Windows环境)(详细图文)
  10. ESET NOD32企业版6.X系列升级到EMSC 7