dede织梦 短信接口 --微米
来源:互联网 发布:爱运动软件下载 编辑:程序博客网 时间:2024/04/28 21:22
初次写短信接口,基本方法都有....可能有点糙....已测试
验证码存在数据库
DROP TABLE IF EXISTS `dede_sms`;CREATE TABLE `dede_sms` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `phone` varchar(15) NOT NULL DEFAULT '', `code` varchar(8) NOT NULL DEFAULT '', `created_at` int(10) NOT NULL DEFAULT '0', `expire_at` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
WMsendSms.php 放在include下:
<?phpif(!defined('DEDEINC')) exit('Request Error!');//发送短信//$cid 短信模板CIDfunction sendSms($mob,$cid = '微米短信模板查看CID'){$res = validatePremise($mob);if($res){$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://api.weimi.cc/2/sms/send.html");curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($ch, CURLOPT_POST, TRUE);/*传入模板参数。短信模板内容示例: 【微米】您的验证码是:%P%,%P%分钟内有效。如非您本人操作,可忽略本消息。 传入两个参数: p1:610912 p2:3 最终发送内容: 【微米】您的验证码是:610912,3分钟内有效。如非您本人操作,可忽略本消息。*/$uid = '微米查看去';$pas = '微米查看去';$p1 = createRandomCoder(4);$p2 = 5; //分钟curl_setopt($ch, CURLOPT_POSTFIELDS, "uid=$uid&pas=$pas&mob=$mob&cid=$cid&p1=$p1&p2=$p2&type=json");$res = curl_exec( $ch );curl_close( $ch );$arr = json_decode($res,true);if($arr['code'] == 0){saveCode($mob,$p1);return "短信发送成功!";}return "短信发送失败!";}else{return "短信发送频繁,请稍后再发送!";}}//生成随机字符串//$len 要生成的随机字符串长度//$type 随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符function createRandomCoder($len,$type = '0'){$arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|"); if ($type == 0) { array_pop($arr); $string = implode("", $arr); } elseif ($type == "-1") { $string = implode("", $arr); } else { $string = $arr[$type]; } $count = strlen($string) - 1; $code = ''; for ($i = 0; $i < $len; $i++) { $code .= $string[rand(0, $count)]; } return $code;}//保存验证码function saveCode($phone,$code,$time = 5){global $dsql;$created_at = time();$expire_at = time() + ($time * 60);$code = strtolower($code);$sql = "INSERT INTO `#@__sms`(`phone`,`code`,`created_at`,`expire_at`) VALUES ('$phone','$code','$created_at','$expire_at')";return $dsql->ExecuteNoneQuery($sql);}//检查手机号,验证码function validateCode($phone,$code){global $dsql;$code = strtolower($code);$current = time();$sql = "SELECT `id` FROM `#@__sms` WHERE `phone` LIKE '$phone' AND `code` LIKE '$code' AND `expire_at` > '$current' ";$row = $dsql->GetOne($sql);if(is_array($row)){return true;}else{return false;}}//检查是否发送:防止恶意刷短信//$phone 手机号//$time 有效时间 (分钟)function validatePremise($phone,$time = '1'){global $dsql;$row = $dsql->GetOne("SELECT `id`,`expire_at` FROM `#@__sms` WHERE `phone` LIKE '$phone' ");if(is_array($row)){if( time() < $row['expire_at'] ){return false;}else{$dsql->ExecuteNoneQuery("DELETE FROM `#@__sms` WHERE id=".$row['id']);}}return true;}
阅读全文
0 0
- dede织梦 短信接口 --微米
- 微米发送短信Url
- 微米CMS短信验证码接口插件快速对接安装说明
- 短信接口
- 短信接口
- 短信接口
- 短信接口
- 短信接口
- 短信接口
- 短信接口
- dede织梦
- 新浪短信接口新浪短信接口
- 短信接口哪家好 凌凯短信接口
- 又写短信接口
- 短信接口平台
- 短信接口平台
- 贝贝短信开发接口
- 星幻短信接口
- C++中关于int *p和 int* p的区别?
- jdbc连接数据库代码
- EJB3.0简介
- linux--chgrp
- Butter Knife 详细使用
- dede织梦 短信接口 --微米
- css 实现元素翻转
- 51Nod-1421-最大MOD值
- jsonp解决跨域访问受限问题
- 各种浏览器全屏模式的方法、属性和事件介绍
- SpringBoot中根据Hibernate的注解来关联实体之间的关系
- 剑指offer——丑数(好题,思路)
- 排序算法相关的笔试面试高频题
- js控制页面的全屏展示和退出全屏显示