微信小程序 消息推送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 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
Cakephp 执行主要流程
Mar 24 PHP
PHP设计模式 注册表模式
Feb 05 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
有关PHP性能优化的介绍
Jun 20 PHP
php实现session自定义会话处理器的方法
Jan 27 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
常见PHP数据库解决方案分析介绍
Sep 24 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PHP中include和require的区别实例分析
May 07 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
BBS(php & mysql)完整版(三)
2006/10/09 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
JavaScript 继承使用分析
2011/05/12 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
Python异常学习笔记
2015/02/03 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
Keras loss函数剖析
2020/07/06 Python
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
大学生毕业求职的自我评价
2013/09/29 职场文书
应聘收银员个人的求职信
2013/11/30 职场文书
自我评价格式
2014/01/06 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
书法大赛策划方案
2014/06/04 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
军训阅兵新闻稿
2015/07/17 职场文书