微信公众号和微信小程序的开发,那么Thinkphp5 微信公众号token验证不成功的原因及解决方法大家了解吗?下面就让爱站技">

Thinkphp5 微信公众号token验证不成功的原因及解…

2018-11-13 07:33:54来源:爱站网 阅读 ()

新老客户大回馈,云服务器低至5折

微信是中国最流行的社交软件之一,随着微信生态系统的建立,很多人也致力于公众号 相关的文章">微信公众号和微信小程序的开发,那么Thinkphp5 微信公众号token验证不成功的原因及解决方法大家了解吗?下面就让爱站技术频道小编带你一起来了解一下吧!

Thinkphp5 微信公众号token验证不成功的原因

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:

×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439

我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错。忍无可忍,一直无法搞定。

自己做开发也算基本上路了,还在这种坑吃亏,有点不服,最后查看日志,一点点搞定。

Thinkphp5 微信公众号token验证不成功的解决方法

1.网上有人说是header要设置utf-8,我也设置了,不行;

2.有人说可能是没有日志写入权限,导致信息能正常,但是页面代码不正常,打开console,发现,网页头显示500,麻蛋,这是服务器错误啊。

估计是腾讯一旦判断到你的500代码,就不继续了。

最后检查,发现是自己的服务器日志目录权限不足,无法写入日志!

就是这个原因,导致我浪费很多小时。

最后,我把验证微信公众号的token分享给各位兄弟,希望大家不要踩坑。

$token='请填写你的公众号token';

$timestamp = $_GET[‘timestamp'];
$nonce = $_GET[‘nonce'];
$signature = $_GET[‘signature'];
$array = array($timestamp,$nonce,$token);
sort($array);

//2.将排序后的三个参数拼接后用sha1加密
$tmpstr = implode(”,$array);
$tmpstr = sha1($tmpstr);

//3. 将加密后的字符串与 signature 进行对比, 判断该请求是否来自微信
if($tmpstr == $signature)
{
echo $_GET[‘echostr'];
}
return false;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:[日常]nginx与网络事件模型

下一篇:PHP开发中解决并发问题的几种方案