微信小程序 消息推送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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
实用函数8
Nov 08 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
php数组去重实例及分析
Nov 26 PHP
ThinkPHP调用百度翻译类实现在线翻译
Jun 26 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
safari下载文件自动加了html后缀问题
Nov 09 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
Jul 20 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
php连接mysql数据库代码
2009/03/10 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
PHP对象相关知识总结
2017/04/09 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
js获取class的所有元素
2013/03/28 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
js中运算符&& 和 || 的使用记录
2014/08/21 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
详解vue v-model
2020/08/31 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python版本的读写锁操作方法
2016/04/25 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
python Canny边缘检测算法的实现
2020/04/24 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
python多线程和多进程关系详解
2020/12/14 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
主持人演讲稿
2014/05/13 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
婚宴新郎致辞
2015/07/28 职场文书
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript