1.验证token,将公众号url引入服务器地址
url为项目地址
token为自定义秘钥,任意
encodingAESKey为加密后结果
2.修改index代码,将微信服务器发来的请求参数,加密原样返回(基于ThinkPHP,获取参数写法是框架写法,如果非TP框架,需要微调,当然要调用函数****** Weixin()**)
//验证是否来自于微信
public function check_Weixin(){
//微信会发送4个参数到我们的服务器后台 签名 时间戳 随机字符串 随机数
$signature=$this->request->get('signature');
$timestamp=$this->request->get('timestamp');
$nonce=$this->request->get('nonce');
$echostr=$this->request->get('echostr');
//在后台填写的token,要一致
$token="xxxxxx";
// 1)将token、timestamp、nonce三个参数进行字典序排序
$tmpArr=array($nonce,$token,$timestamp);
sort($tmpArr,SORT_STRING);
// 2)将三个参数字符串拼接成一个字符串进行sha1加密
$str=implode($tmpArr);
$sign=sha1($str);
// 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
if($sign==$signature) {
echo$echostr;
}
}
//当然,需要要调用这个函数,直接写在index里也可以,看喜好
public function index(){
return $this->check_Weixin();
}
网友评论