微信小程序 消息推送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 相关文章推荐
2.PHP入门
Oct 09 PHP
php4的session功能评述(三)
Oct 09 PHP
dedecms中常见问题修改方法总结
Mar 21 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 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
C# Assembly类访问程序集信息
2009/06/13 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
python爬虫面试宝典(常见问题)
2018/03/02 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
干部竞争上岗演讲稿
2014/09/11 职场文书
学习型党组织心得体会
2014/09/12 职场文书
影视后期实训报告
2014/11/05 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
宝塔更新Python及Flask项目的部署
2022/04/11 Python
Redis全局ID生成器的实现
2022/06/05 Redis