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

 更新时间:2017年11月12日 09:11:41   作者:简庆旺  
下面小编就为大家带来一篇Thinkphp5 微信公众号token验证不成功的原因及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

&timestamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439

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

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

以下是我解决问题的办法:

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;

另外,提醒各位兄弟,配置信息再微信测试号配置会好些,即便错了也不用每次都扫描二维码,累死人。

微信测试号地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

以上这篇Thinkphp5 微信公众号token验证不成功的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 简单实现PHP留言板功能

    简单实现PHP留言板功能

    这篇文章主要教大家如何简单实现PHP留言板功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • laravel技巧之查询构造器Query Builder叠加链式调用的方法

    laravel技巧之查询构造器Query Builder叠加链式调用的方法

    这篇文章主要给大家介绍了关于laravel技巧之查询构造器Query Builder叠加链式调用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友下面来一起看看吧。
    2017-12-12
  • php实现微信支付之企业付款

    php实现微信支付之企业付款

    这篇文章主要为大家详细介绍了php实现微信支付之企业付款功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Laravel5.1自定义500错误页面示例

    Laravel5.1自定义500错误页面示例

    这篇文章主要介绍了Laravel5.1自定义500错误页面的方法,结合实例形式分析了Laravel5.1自定义错误页面的相关文件修改技巧,需要的朋友可以参考下
    2016-10-10
  • php数组应用之比较两个时间的相减排序

    php数组应用之比较两个时间的相减排序

    因网站需要实现两个时间段的所有小说的收藏,点击等操作,特把同事写的代码收藏下,以后有需要研究
    2008-08-08
  • Laravel路由研究之domain解决多域名问题的方法示例

    Laravel路由研究之domain解决多域名问题的方法示例

    这篇文章主要介绍了Laravel 路由研究之domain解决多域名问题的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • Yii2的XSS攻击防范策略分析

    Yii2的XSS攻击防范策略分析

    这篇文章主要介绍了Yii2的XSS攻击防范策略,较为详细的分析了XSS攻击的原理及Yii2相应的防范策略,需要的朋友可以参考下
    2016-08-08
  • php实现memcache缓存示例讲解

    php实现memcache缓存示例讲解

    共享内存是一种在相同机器中的应用程序之间交换数据的有效方式,本文说的是php实现memcache缓存示例,大家参考使用吧
    2013-12-12
  • thinkphp框架page类与bootstrap分页(美化)

    thinkphp框架page类与bootstrap分页(美化)

    这篇文章主要介绍了thinkphp框架page类与bootstrap分页(美化) ,需要的朋友可以参考下
    2017-06-06
  • 在Laravel5中正确设置文件权限的方法

    在Laravel5中正确设置文件权限的方法

    这篇文章主要给大家介绍了关于如何在Laravel5中正确设置文件权限的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05

最新评论