微信小程序 消息推送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调用三种数据库的方法(1)
Oct 09 PHP
php Undefined index和Undefined variable的解决方法
Mar 27 PHP
深入PHP操作MongoDB的技术总结
Jun 02 PHP
解析PHP的session过期设置
Jun 29 PHP
浅析php单例模式
Nov 25 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
php给每个段落添加空格的方法
Mar 20 PHP
如何使用php等比例缩放图片
Oct 12 PHP
php插件Xajax使用方法详解
Aug 31 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
浅谈laravel中的关联查询with的问题
Oct 10 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
我的论坛源代码(十)
2006/10/09 PHP
PHP的变量总结 新手推荐
2011/04/18 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
在Python中使用__slots__方法的详细教程
2015/04/28 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
旅游专业毕业生自荐书
2014/06/30 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书
python实现批量移动文件
2021/04/05 Python
java调用Restful接口的三种方法
2021/08/23 Java/Android