赞
踩
目录
- <?php
- /**
- * 阿里云短信验证码发送类
- * @author Administrator
- *
- */
- class Sms {
- // 保存错误信息
- public $error;
- // Access Key ID
- private $accessKeyId = '';
- // Access Access Key Secret
- private $accessKeySecret = '';
- // 签名
- private $signName = '';
- // 模版ID
- private $templateCode = '';
- public function __construct($cofig = array()) {
- /*
- * 通过参数传递
- * $cofig = array (
- 'accessKeyId' => 'xxxxxxxxxxxx',
- 'accessKeySecret' => 'xxxxxxxxxxxxxxxx',
- 'signName' => 'xxxxxxxxxx',
- 'templateCode' => 'xxxxxxxxxxx'
- );*/
- // 配置参数
- $this->accessKeyId = $cofig ['accessKeyId'];
- $this->accessKeySecret = $cofig ['accessKeySecret'];
- $this->signName = $cofig ['signName'];
- $this->templateCode = $cofig ['templateCode'];
- }
- private function percentEncode($string) {
- $string = urlencode ( $string );
- $string = preg_replace ( '/\+/', '%20', $string );
- $string = preg_replace ( '/\*/', '%2A', $string );
- $string = preg_replace ( '/%7E/', '~', $string );
- return $string;
- }
- /**
- * 签名
- *
- * @param unknown $parameters
- * @param unknown $accessKeySecret
- * @return string
- */
- private function computeSignature($parameters, $accessKeySecret) {
- ksort ( $parameters );
- $canonicalizedQueryString = '';
- foreach ( $parameters as $key => $value ) {
- $canonicalizedQueryString .= '&' . $this->percentEncode ( $key ) . '=' . $this->percentEncode ( $value );
- }
- $stringToSign = 'GET&%2F&' . $this->percentencode ( substr ( $canonicalizedQueryString, 1 ) );
- $signature = base64_encode ( hash_hmac ( 'sha1', $stringToSign, $accessKeySecret . '&', true ) );
- return $signature;
- }
- /**
- * @param unknown $mobile
- * @param unknown $verify_code
- *
- */
- public function send_verify($mobile, $verify_code) {
- $params = array ( //此处作了修改
- 'SignName' => $this->signName,
- 'Format' => 'JSON',
- 'Version' => '2017-05-25',
- 'AccessKeyId' => $this->accessKeyId,
- 'SignatureVersion' => '1.0',
- 'SignatureMethod' => 'HMAC-SHA1',
- 'SignatureNonce' => uniqid (),
- 'Timestamp' => gmdate ( 'Y-m-d\TH:i:s\Z' ),
- 'Action' => 'SendSms',
- 'TemplateCode' => $this->templateCode,
- 'PhoneNumbers' => $mobile,
- 'TemplateParam' => '{"code":"' . $verify_code . '"}'//更换为自己的实际模版
- );
- //var_dump($params);die;
- // 计算签名并把签名结果加入请求参数
- $params ['Signature'] = $this->computeSignature ( $params, $this->accessKeySecret );
- // 发送请求(此处作了修改)
- //$url = 'https://sms.aliyuncs.com/?' . http_build_query ( $params );
- $url = 'http://dysmsapi.aliyuncs.com/?' . http_build_query ( $params );
-
- $ch = curl_init ();
- curl_setopt ( $ch, CURLOPT_URL, $url );
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
- curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
- curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
- curl_setopt ( $ch, CURLOPT_TIMEOUT, 10 );
- $result = curl_exec ( $ch );
- curl_close ( $ch );
- $result = json_decode ( $result, true );
- //var_dump($result);die;
- if ( $result ['Code'] != 'OK') {
- $this->error = $this->getErrorMessage ( $result ['Code'] );
- return false;
- }
- return true;
- }
- /**
- * 获取详细错误信息
- *
- * @param unknown $status
- */
- public function getErrorMessage($status) {
- // 阿里云的短信 乱八七糟的(其实是用的阿里大于)
- // https://api.alidayu.com/doc2/apiDetail?spm=a3142.7629140.1.19.SmdYoA&apiId=25450
- $message = array (
- 'isv.BUSINESS_LIMIT_CONTROL' => '短信发送频率超限',
- 'isv.DAY_LIMIT_CONTROL' => '已经达到您在控制台设置的短信日发送量限额值',
- 'isv.SMS_CONTENT_ILLEGAL' => '短信内容包含禁止发送内容,请修改短信文案',
- 'isv.SMS_SIGN_ILLEGAL' => '签名禁止使用,请在短信服务控制台中申请符合规定的签名',
- 'isp.RAM_PERMISSION_DENY' => 'RAM权限不足。,请为当前使用的AK对应子账号进行授权:AliyunDysmsFullAccess(管理权限)',
- 'isv.OUT_OF_SERVICE' => '余额不足。余额不足时,套餐包中即使有短信额度也无法发送短信',
- 'isv.PRODUCT_UN_SUBSCRIPT' => '未开通云通信产品的阿里云客户',
- 'isv.PRODUCT_UNSUBSCRIBE' => '产品未开通',
- 'isv.ACCOUNT_NOT_EXISTS' => '账户不存在,使用了错误的账户名称或AK',
- 'isv.ACCOUNT_ABNORMAL' => '账户异常',
- 'isv.SMS_TEMPLATE_ILLEGAL' => '短信模板不存在,或未经审核通过',
- 'isv.SMS_SIGNATURE_ILLEGAL' => '签名不存在,或未经审核通过',
- 'isv.INVALID_PARAMETERS' => '参数格式不正确',
- 'isv.MOBILE_NUMBER_ILLEGAL' => '机号码格式错误',
- 'isv.MOBILE_COUNT_OVER_LIMIT' => '参数PhoneNumbers中指定的手机号码数量超出限制',
- 'isv.TEMPLATE_MISSING_PARAMETERS' => '模版缺少变量',
- 'isv.BLACK_KEY_CONTROL_LIMIT' => '黑名单管控',
- 'isv.PARAM_LENGTH_LIMIT' => '参数超出长度限制',
- 'isv.PARAM_NOT_SUPPORT_URL' => '不支持URL',
- 'isv.AMOUNT_NOT_ENOUGH' => '账户余额不足',
- 'SignatureDoesNotMatch' => '签名(Signature)加密错误',
- );
- if (isset ( $message [$status] )) {
- return $message [$status];
- }
- return $status;
- }
- }
1.基于ssm的甘肃旅游系统 |
2.基于SSM的旅游企业财务管理系统 |
3.基于SSM的疫情防疫项目(带爬虫) |
4.基于springboot的人力资源管理系统 |
5.基于SSM的民生置业有限公司信息管理系统 |
6.基于ssm的在线挂号小程序系统 |
7.基于Java(spring boot框架)新冠疫苗预约管理系统 |
8.基于SSM的校园小助手系统 |
9.基于springboot的点餐小程序系统 |
10.基于ssm的健康食谱推荐小程序 |
11.基于ssm的健康食谱小程序 |
12.基于ssm的二手汽车拍卖系统小程序 |
13.基于ssm的二手汽车拍卖系统app |
14.基于springboot的客户关系管理系统 |
15.基于SSM的校园活动管理小程序 |
16.基于SSM的个人健康饮食管理小程序系统 |
17.基于ssm的微信小程序水果商城 |
18.基于微信小程序的一起运动吧活动管理系统 |
19.基于springboot的微信小程序的在线商城系统(根据收藏类别推荐+点击率推荐) |
20.基于SSM新闻网站 |
21.基于ssm的在线租房网站 |
22.基于springboot的中学校园管理微信小程序 |
23.基于Springboot学生在线考试系统 |
24.基于SSM的网上奶茶购买平台 |
25.基于springboot的高校社团管理系统(多用户角色) |
26.基于springboot个性化学习推荐网站 |
27.基于微信小程序的西藏特产在线商城系统 |
28.基于SSM的微信小程序的查寝系统 |
29.基于ssm的微信小程序的口袋故事系统 |
30.基于SSM的小区物业管理系统 |
31.基于SSM的小程序任务调度管理信息系统 |
32.基于SSM的团员信息管理系统 |
33.基于SSM框架的法律学习小程序 |
34.基于springboot的学校监考小程序 |
35.基于SSM的超市财务管理系统 |
36.基于springboot的学生宿舍管理系统 |
37.基于SSM的课程设计管理系统 |
38.基于SSM的课设管理小程序 |
39.基于springboot的果蔬交易与物流微信小程序 |
40.基于ssm的果蔬交易与物流微信小程序 |
41.基于SSM的红色文化展示小程序系统 |
42.基于SSM的小区物业管理系统 |
43.基于javaweb的机械博物馆展品管理系统 |
44.基于springboot的实验室设备管理系统 |
45.基于SSM企业人力资源管理系统 |
46.基于springboot的实验室物资管理小程序 |
47.基于springboot的高校选课系统 |
48.基于SSM小程序蔬菜水果零食销售系统 |
49.基于SSM的园第二课堂小程序 |
50.基于ssm的全球地震数据信息管理系统 |
51.基于ssm的足球联赛管理系统 |
52.基于SSM的小程序的人工智能类竞赛管理系统 |
53.基于SSM的智慧医疗问诊小程序 |
54.基于SSM的微信小程序直播在线教育平台 |
55.基于springboot+爬虫的新闻网站系统 |
56.基于SSM的自驾游小程序 |
57.基于SSM的高校宿舍管理小程序系统 |
58.基于SSM的微信小程序在线学习平台 |
59.基于Android的防疫信息管理系统 |
60.基于springboot的患者术后康复的小程序 |
61.基于ssm微信小程序的校园换物系统 |
62.基于SSM微信小程序的智慧党史系统 |
63.基于SSM的家庭理财系统 |
64.基于SSM的高校学籍信息管理系统 |
65.基于SSM微信小程序的航班查询和订票系统 |
66.基于ssm的医院挂号系统 |
67.基于SSM的在线阅读系统 |
68.基于SSM的疫情社区物资配送系统 |
69.基于ssm的加油服务系统小程序系统 |
70.基于ssm的XX学院校友录小程序系统 |
71.基于ssm的药店管理系统微信小程序系统 |
72.基于ssm的装潢应用系统小程序系统 |
73.基于ssm的学生公寓生活管理系统 |
74.基于ssm的计算机维修服务微信小程序 |
75.基于ssm的微信音乐播放器小程序 |
76.基于ssm的中医药配方小程序 |
77.基于ssm的二手交易微信小程序 |
78.基于ssm的的家教信息小程序管理系统 |
79.基于ssm的鲜花销售小程序系统 |
80.基于ssm的预约挂号小程序系统 |
81.基于ssm的在线考试小程序系统 |
82.基于ssm的慢性疾病管理微信小程序 |
83.基于springboot的在线考试系统小程序 |
84.基于springboot的批发零售业商品管理小程序系统 |
85.基于ssm的图书借阅到期提醒小程序系统 |
86.基于springboot的服装企业人事管理小程序系统 |
87.基于nodejs的电商管理系统 |
88.基于nodejs的知识分享网站 |
89.基于nodejs的宠物医生预约平台 |
90.基于nodejs的外卖平台 |
91.基于nodejs的大学生心理咨询微信小程序 |
92.基于nodejs的房屋租赁管理系统 |
93.基于nodejs的拼车网站 |
94.基于nodejs的博客系统 |
95.基于nodejs的家政服务微信小程序 |
96.基于nodejs的物物交换平台 |
97.基于php的实验室安全系统 |
98.基于php的单招志愿采集系统 |
99.基于php的网上买卖管理系统 |
100.基于php的XX学院兼职小程序系统 |
101.基于php的计算机信息管理学院网站 |
102.基于python+Django图书馆智能推荐系统python3.85版本 |
103.基于Python的个性化电影推荐的算法 |
104.基于python+django图书推荐系统 |
105.基于Python的个性化电影推荐的算法 |
106.基于django的爬虫新闻网站系统 |
107.基于Python的人事档案管理系统 |
108.基于python的汽车销售系统 |
109.基于python的《C语言程序设计》课程案例库研究 |
110.基于python的飞机票销售系统 |
111.基于python的旧衣物捐赠系统 |
112.基于python的超市进销存 |
113.基于python的在线办公系统 |
114.基于python的大学生职业推荐平台 |
115.基于python的个性化服装系统 |
116.基于python的酒店住房管理系统 |
117.基于python的三甲妇幼保健院网站 |
118.基于python的大学生生活信息交互平台 |
119.基于python的学生兼职平台系统 |
120.基于python的主机硬件配置推荐系统 |
121.基于python的本地健康宝微信小程序 |
122.基于python的鲜花销售小程序 |
123.基于JSP的网上订餐管理系统 |
124.基于jAVAWeb停车场管理系统 |
125.基于SSM幼儿园信息管理系统 |
126.基于Springboot电影订票系统 |
127.基于ssm人力资源考勤系统 |
128.基于javaweb作业管理系统 |
129.基于javaweb校园二手物品交易 |
130.基于javaweb的停车场管理系统 |
131.基于javaweb学生选课系统 |
132.基于SSM实现的人力资源管理系统 |
133.基于javaweb项目疫情宿舍管理 |
134.基于SSM的图书商城系统 |
135.基于ssm的微信小程序家教系统 |
136.基于ssm的旅游管理系统travel |
137.基于SSM的微信小程序图书借阅系统 |
138.基于web的微信小程序家政预约系统 |
139.基于web的微信小程序菜谱系统 |
140.基于web的微信小程序服装商城系统 |
141.基于web的微信小程序校园活动管理系统 |
142.基于web的微信小程序记事本系统 |
143.基于ssm的基于微信小程序的农产品销售系统 |
144.基于ssm的微信小程序旅游服务系统 |
145.基于springboot的微信小程序在线考试管理系统 |
146.基于ssm的微信小程序电影院购票系统 |
147.基于ssm的微信小程序房屋交易系统 |
148.基于ssm的微信小程序培训机构管理系统 |
149.基于web的微信小程序电影购票系统 |
150.基于ssm的酒店管理系统 |
151.基于javaweb点餐系统 |
152.基于javaweb宿舍管理系统 |
153.基于springboot的信息化管理系统 |
154.基于SSM的美妆商城系统 |
155.基于javaweb学生成绩管理系 |
156.基于SSM的新闻发布系统 |
157.基于SSM实现的小区物业管理系统 |
158.基于SSH的城市公交查询系统 |
159.基于S2SH的人力资源管理系统 |
160.基于S2SH酒店点餐收款系统 |
161.基于JSP的在线调查问卷系统 |
162.基于JSP的网上订餐管理系统 |
163.基于JSP实现的飞机票售票管理系统 |
164.基于SSM农场信息管理系统 |
165.基于javaweb花店管理系统 |
166.基于javaweb药房库存管理系统 |
167.基于SSM的甜品店系统 |
168.基于S2SH的药膳馆会员管理系统 |
169.基于javaweb的学籍管理系统 |
170.基于web的网上书城系统 |
171.基于web的学生成绩系统 |
172.基于SSH的客运站网上售票系统 |
173.基于S2SH校园论坛系统 |
174.基于javaweb旅游管理系统 |
175.基于SSH的旅游管理系统 |
176.基于SSM垃圾分类管理系统 |
177.基于ssm宠物销售系统 |
178.基于javaweb的在线人才招聘系统 |
179.基于S2SH小区物业系统 |
180.基于ssm人事管理系统 |
181.基于web的淘淘商城系统 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。