微信小程序 消息推送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小技巧搜集,每个PHPer都来露一手
Jan 02 PHP
实用函数3
Nov 08 PHP
PHP 数组实例说明
Aug 18 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
php自定义分页类完整实例
Dec 25 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
PHP内存缓存功能memcached示例
Oct 19 PHP
php闭包中使用use声明变量的作用域实例分析
Aug 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 快速生成 Flash 动画的方法
2007/03/06 PHP
php 8小时时间差的解决方法小结
2009/12/22 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
JavaScript实现区块链
2018/03/14 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
Python 字典dict使用介绍
2014/11/30 Python
python使用append合并两个数组的方法
2015/04/28 Python
多版本Python共存的配置方法
2017/05/22 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
会计助理岗位职责
2014/02/17 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
企业投资意向书
2015/05/09 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python