微信小程序 消息推送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手册及PHP编程标准
Dec 17 PHP
隐性调用php程序的方法
Mar 09 PHP
rephactor 优秀的PHP的重构工具
Jun 09 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 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
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
用cssText批量修改样式
2009/08/29 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
解析jQuery与其它js(Prototype)库兼容共存
2013/07/04 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
python 发送json数据操作实例分析
2019/10/15 Python
Python魔术方法专题
2020/06/19 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
.NET面试10题
2014/02/24 面试题
护理专科毕业推荐信
2013/11/10 职场文书
采购主管的岗位职责
2013/12/17 职场文书
企业消防安全责任书
2014/07/23 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
中华魂放飞梦想演讲稿
2014/08/26 职场文书
普通话演讲稿
2014/09/03 职场文书
九九重阳节标语
2014/10/07 职场文书
长城的导游词
2015/01/30 职场文书
事业单位聘任报告
2015/03/02 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书