收藏
回答

微信接收事件中 $_GET["signature"] 获取到的值结尾多了一个逗号 ? 为什么?

在公众号测试号进行测试“接收事件”的过程中,一直出现【请求失败】的问题,查了很多文档和博客代码没有问题,最终通过代码调试,发现

$_GET["signature"]  获取到的值结尾多了一个逗号,这个是bug吗?

// 微信官方验证方法
    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];


        $token = Config::get('site.token');
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr) . ',';


        if ($tmpStr == $signature) {
            return true;
        }
        return false;
    }


最终通过多拼接一个逗号才成功通过,希望有大神帮忙解答一下,本人前端工程师,php小白,勿喷!

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容