微信小程序 消息推送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 相关文章推荐
将数组写入txt文件 var_export
Apr 21 PHP
PHP 输出简单动态WAP页面
Jun 09 PHP
php5.3 废弃函数小结
May 16 PHP
php文档更新介绍
Jul 22 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
php批量删除操作代码分享
Feb 26 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
php常用的工具开发整理
Sep 26 PHP
TP5框架实现签到功能的方法分析
Apr 05 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的错误信息
2006/10/09 PHP
PHP中的正规表达式(一)
2006/10/09 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php定界符
2014/06/19 PHP
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
JavaScript中Function详解
2015/02/27 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
Python异常处理例题整理
2019/07/07 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
工作自荐信
2013/12/11 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
销售个人求职信范文
2014/04/28 职场文书
实习生辞职信范文
2015/03/02 职场文书
会议新闻稿
2015/07/17 职场文书