PHP开发微信公众平台后台,接受微信服务器post请求基础代码:
//server.php
<?php
//定义token
define("TOKEN", "P_leung");
//获取GET参数
function checkSignature() {
$signature = $_GET['signature'];
$nonce = $_GET['nonce'];
$timestamp = $_GET['timestamp'];
//将三个参数放到数组排序
$tmpArr = array($nonce, $signature, TOKEN);
sort($tmpArr);
//将数组元素合并为字符串
$tmpStr = implode($tmpArr);
//sha1加密
$tmpStr = sha1($tmpStr);
//判断加密后字符串是否相等
if ($tmpStr == $signature) {
//返回true,则checkSignature==true
return true;
}
return false;
}
if (false == checkSignature()) {
exit(0);
}
//获取echostr
$echostr = $_GET['echostr'];
if ($echostr) {
echo $echostr;
exit(0);
}
//TODO 后续事件
其中exit(0)表示结束脚本
$echostr = $_GET['echostr'];
if ($echostr) {
echo $echostr;
exit(0);
}
如果echostr不存在代表此为用户消息请求,然后根据情况触发后续事件
微信服务器会发来四个GET参数signature、timestamp、nonce、echostr
根据是否有echostr参数来判断是否微信服务器发来的消息,如果是则直接返回echostr