php短信验证微擎框架 php如何实现短信验证相关内容,小编在这里做了整理,希望能对大家有所帮助,关于php短信验证微擎框架 php如何实现短信验证信息,一起来了解一下吧!
php ci框架怎么对接短信接口
相当简单 这个接口调用就是封装一个curl请求的function (sendSMS),代码示例网站上已经有了,使用时:加载这个function, 然后 调用方法sendSMS;
我把源码给你贴一遍,这个里面的账号密码是需要你们自己去申请的;
我爱编程网
<?
$username = 'test'; //用户账号
$password = '123456'; //密码
$mobile = '13811299934,18610310066,15210954922'; //号手机码
$content = '您的短信验证码是:ABCD'; //内容
//即时发送
$result = sendSMS($username,$password,$mobile,$content);
echo $result;
function sendSMS($username,$password,$mobile,$content)
{
$url = '域名/api/sms.php';
$data = array
(
'username'=>$username, //用户账号
'password'=>$password, //密码
'mobile'=>$mobile, //号码
'content'=>$content, //内容
);
$result= curlSMS($url,$data); //POST方式提交
return $result;
}
function curlSMS($url,$post_fields=array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3600); //60秒
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_REFERER,'');
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_fields);
$data = curl_exec($ch);
curl_close($ch);
$res = explode("\r\n\r\n",$data);
return $res[2];
}
?>
php怎么发短信通知
php怎么发短信通知
做网站时发送短信验证码的需求很常见,比如手机号注册,密码找回等等。下面一起来了解下如何实现吧。
1. 手机号注册的前后端交互的流程;
(1)用户操作客户端点击发送验证码,(然后客户端ajax发送请求,并且按钮处于60s静默时间)
(2)后端逻辑层,接受传递过来的手机号,验证格式是否合法,进入数据库匹配是否存在
(3)生成验证码,存在session中,然后curl发送到第三方的短信接口链接中
(4)配置第三方短信平台,向指定手机号用户发送验证码信息
2. 今天我们主要阐述第三方平台的配置,以及后台处理的逻辑;
3. 选择的第三方平台为: (您也可以选择其他平台,其原理都差不多类似)
(1) 赛迪·云通信 ( )
(2) 注册,实名认证,进入产品与服务,新建模板,其模板语法可以查看其配套文档
(3) 去到 "创建/管理 AppIdD" 栏目,创建并且启用项目,然后生成默认的 "APPID" 及 "APPKEY"
(4)去到首页,点开 "查看API开发文档" 链接,获取POST请求的链接:
后台逻辑开发:
核心:创建验证码 -> 封装POST请求函数 -> 发送验证码到第三方平台 -> 再由第三方转发至用户的手机
(1)发送验证码到第三方平台:
private function sendMessage()
{
$appId = "xxxxx";
$appKey = "36426a9xxxxxxxxxxxx7bed8583a3c";
$code = $this->makeCode(6);
$data = [
"appid" => $appId,
"to" => $this->phone,
"project" => "FoJ494",
"vars" => '{"code":' . $code . ',"time":"60"}',
"signature" => $appKey,
];
$res = $this->httpRequest($data);
var_dump($res);
}(2)请求链接发送验证码数据到第三方平台
private function httpRequest($data)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->RequestUrl);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if (isset($data)) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
$res = curl_exec($curl);
var_dump(curl_error($curl)); //打印请求错误
curl_close($curl);
return $res;
}5. 最终效果
更多PHP相关知识,请访问PHP中文网!
php如何实现短信验证
php实现短信验证的方法:首先接入短信服务;然后在网站信息提交页面请求发送信息;接着服务器向短信服务提供商通信,提交发送请求;最后短信服务提供商通过运营商将信息发送到用户的手机中。
php实现短信验证的方法:
第一、实现php手机短信验证功能的基本思路
1、要找到短信服务提供商,接入短信服务
2、在网站信息提交页面请求发送信息
3、服务器向短信服务提供商通信,提交发送请求
4、短信服务提供商通过运营商将信息发送到用户的手机中
二、手机号码短信验证前台页面效果实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "-transitional.dtd">
<html xmlns="">
<head>
<title></title>
<script src="js/jquery-1.4a2.min.js" type="text/javascript"></script>
<script type="text/javascript">
/*-------------------------------------------*/
var InterValObj; //timer变量,控制时间
var count = 60; //间隔函数,1秒执行
var curCount;//当前剩余秒数
var code = ""; //验证码
var codeLength = 6;//验证码长度
function sendMessage() {
curCount = count;
var dealType; //验证方式
tel = $(’#tel’).val();
if(tel!=’’){
//验证手机有效性
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+d{8})$/;
if(!myreg.test($(’#tel’).val()))
{
alert(’请输入有效的手机号码!’);
return false;
}
tel = $(’#tel’).val();
//产生验证码
for (var i = 0; i < codeLength; i++) {
code += parseInt(Math.random() * 9).toString();
}
//设置button效果,开始计时
$("#btnSendCode").attr("disabled", "true");
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
//向后台发送处理数据
$.ajax({
type: "POST", //用POST方式传输
dataType: "text", //数据格式:JSON
url: ’yanzhengma.php’, //目标地址(根据实际地址)
data: "&tel=" + tel + "&code=" + code,
error: function (XMLHttpRequest, textStatus, errorThrown) { },
success: function (msg){ }
});
}else{
alert(’请填写手机号码’);
}
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#btnSendCode").removeAttr("disabled");//启用按钮
$("#btnSendCode").val("重新发送验证码");
code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
}
else {
curCount--;
$("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
}
}
</script>
</head>
<body>
<input name="tel" id=tel type="text" />
<input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" /></p>
</body>
</html>
第三、调用短信服务器短信接口
笔者整理的页面是yanzhengma.php(具体根据服务商提供信息)
<?php //提交短信
$post_data = array();
$post_data[’userid’] = 短信服务商提供ID;
$post_data[’account’] = ’短信服务商提供用户名’;
$post_data[’password’] = ’短信服务商提供密码’;
// Session保存路径
$sessSavePath = dirname(__FILE__)."/../data/sessions/";
if(is_writeable($sessSavePath) && is_readable($sessSavePath)){
session_save_path($sessSavePath);
}
session_register(’mobliecode’);
$_SESSION[’mobilecode’] = $_POST["code"];
$content=’短信验证码:’.$_POST["code"].’【短信验证】’;
$post_data[’content’] = mb_convert_encoding($content,’utf-8’, ’gb2312’); //短信内容需要用urlencode编码下
$post_data[’mobile’] = $_POST["tel"];
$post_data[’sendtime’] = ’’; //不定时发送,值为0,定时发送,输入格式YYYYMMDDHHmmss的日期值
$url=’’;
$o=’’;
foreach ($post_data as $k=>$v)
{
$o.="$k=".$v.’&’;
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。
$result = curl_exec($ch);
?>
第四:提交表单信息时对短信验证码验证
//手机验证码开始
session_start();
$svalitel = $_SESSION[’mobilecode’];
$vdcodetel = empty($vdcodetel) ? ’’ : strtolower(trim($vdcodetel));
if(strtolower($vdcodetel)!=$svalitel || $svalitel==’’)
{
ResetVdValue();
//echo "Pageviews=".$vdcodetel;
ShowMsg("手机验证码错误!", ’-1’);
exit();
}想了解更多编程学习,敬请关注php培训栏目!
以上就是php短信验证微擎框架 php如何实现短信验证全部内容了,了解更多相关信息,关注我爱编程网。