一起学习网 一起学习网

微信小程序 消息推送php服务器验证实例详解

微信小程序 消息推送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中Laravel 关联查询返回错误id的解决方法
在LaravelEloquent中使用join关联查询,如果两张表有名称相同的字段,如id,那么它的值会默认被后来的同名字段重写,返回不是期望的结果。例如以下关

PHP房贷计算器实例代码,等额本息,等额本金
实例如下:debx();functiondebx(){$dkm=240;//贷款月数,20年就是240个月$dkTotal=10000;//贷款总额$dknl=0.0515;//贷款年利率$emTotal=$dkTotal*$dknl/12*pow(1+$dknl/12,$dkm)/(pow(1+$dk

PHP 实现字符串翻转(包含中文汉字)的实现代码
包含汉字字符串乱码PHP面试题,题目很短,也很常见,但更容易出错,题目如下如何实现字符串翻转?第一反应,当然是strrev函数啦,这么容易的题目