微信小程序 消息推送php服务器验证实例详解


Posted in PHP onMarch 30, 2017

微信小程序 消息推送php服务器验证实例详解

微信文档(靠下有个“接入指引”):https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html

设置页面(“设置”>>“开发设置”):

https://mp.weixin.qq.com/wxopen/initprofile?action=home&lang=zh_CN

1.设置服务器域名

比如:https://hosts.com

注意http和https协议的不同。

2.设置消息推送

2.1 在你的服务器里添加服务器接口test.php,test.php接口内容主要是通过token验证消息是否为微信发来的,代码参照官方的例子:

define("TOKEN","xxxxx");/ 后台填写的token
$wechatObj = new wechatAPI();
$wechatObj->isValid();
class wechatAPI
{
public function isValid()//验证微信接口,如果确认是微信就返回它传来的echostr参数
{
 $echoStr = $_GET["echostr"];
 if ($this->checkSignature()) {
 echo $echoStr;
 exit;
 }
}
private function checkSignature() //官方的验证函数
{
 $signature = $_GET["signature"];
 $timestamp = $_GET["timestamp"];
 $nonce = $_GET["nonce"];
 $token = TOKEN;
 $tmpArr = array($token, $timestamp, $nonce);
 sort($tmpArr, SORT_STRING);
 $tmpStr = implode( $tmpArr );
 $tmpStr = sha1( $tmpStr );
 if( $tmpStr == $signature ){
 return true;
 }else{
 return false;
 }
}
};

2.2 设置小程序后台消息推送相关信息

URL(服务器地址):https://hosts.com/xx/test.php

Token: 任意符合规范的字符串,如上面定义的"xxxxx"

EncodingAESKey(消息加密密钥):(随机生成,自己保存就好了,这个加解密才用)

消息加密方式:暂时选择明文,不用去考虑加密解密的问题。

数据格式:根据需求选择。

提交,如果没有问题就会成功了。(如果有问题你可以用假的数据通过浏览器测试)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
php二分法在IP地址查询中的应用
Aug 12 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
PHP安全性漫谈
Jun 28 PHP
用php实现选择排序的解决方法
May 04 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
php使用百度ping服务代码实例
Jun 19 PHP
php解析json数据实例
Aug 19 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 PHP
PHP多进程编程之僵尸进程问题的理解
Oct 15 PHP
Laravel find in set排序实例
Oct 09 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 #PHP
PHP的反射机制实例详解
Mar 29 #PHP
php面向对象之反射功能与用法分析
Mar 29 #PHP
PHP命名空间namespace的定义方法详解
Mar 29 #PHP
php mysql_list_dbs()函数用法示例
Mar 29 #PHP
php json相关函数用法示例
Mar 28 #PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 #PHP
You might like
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
使用jQuery实现验证上传图片的格式与大小
2014/12/03 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
2020/05/26 Javascript
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python小程序实现刷票功能详解
2019/07/17 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
美国温暖商店:The Warming Store
2018/12/15 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
大学生评语大全
2014/04/18 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
大学辅导员述职报告
2015/01/10 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL