PHP
·
发表于 5年以前
·
阅读量:8299
微信小程序 消息推送php服务器验证实例详解
微信文档(靠下有个"接入指引"):https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html
设置页面("设置">>"开发设置"):
https://mp.weixin.qq.com/wxopen/initprofile?action=home〈=zh_CN
1.设置服务器域名
注意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(消息加密密钥):(随机生成,自己保存就好了,这个加解密才用)
消息加密方式:暂时选择明文,不用去考虑加密解密的问题。
数据格式:根据需求选择。
提交,如果没有问题就会成功了。(如果有问题你可以用假的数据通过浏览器测试)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!