微信小程序 消息推送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集成FCK的函数代码
Sep 27 PHP
PHP session有效期问题
Apr 26 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
php的XML文件解释类应用实例
Sep 22 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
php实现只保留mysql中最新1000条记录
Jun 18 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
轻松实现php文件上传功能
Feb 17 PHP
PHP性能测试工具xhprof安装与使用方法详解
Apr 29 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
用PHP生成html分页列表的代码
2007/03/18 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
仅用[]()+!等符号就足以实现几乎任意Javascript代码
2010/03/01 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
2017/04/13 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
详解Python中的日志模块logging
2015/06/19 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
详解django中自定义标签和过滤器
2017/07/03 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python生成词云的实现代码
2020/01/14 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
货代行业个人求职简历的自我评价
2013/10/22 职场文书
母婴店促销方案
2014/03/05 职场文书
局火灾防控工作方案
2014/05/25 职场文书
银行求职信怎么写
2014/05/26 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
德劲DE1108畅想
2021/04/22 无线电
pandas 实现将NaN转换为None
2021/05/14 Python
pytorch实现手写数字图片识别
2021/05/20 Python