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


Posted in PHP onNovember 12, 2017

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

×tamp=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中使用XML
Oct 09 PHP
同时提取多条新闻中的文本一例
Oct 09 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 PHP
深入理解PHP JSON数组与对象
Jul 19 PHP
Yii针对添加行的增删改查操作示例
Oct 18 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
PHP 断点续传实例详解
Nov 11 #PHP
PHP+AJAX 投票器功能
Nov 11 #PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 #PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 #PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 #PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP简单实现循环链表功能示例
Nov 10 #PHP
You might like
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
js实现一个简单的数字时钟效果
2017/03/29 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
Vue实现验证码功能
2019/12/03 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
[01:14]2019完美世界城市挑战赛(秋季赛)全国总决赛精彩花絮
2020/01/08 DOTA
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
Python实现图像的垂直投影示例
2020/01/17 Python
通过实例解析Python return运行原理
2020/03/04 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
日语翻译个人求职的自我评价
2013/10/14 职场文书
学院书画协会部门岗位职责
2013/12/01 职场文书
优秀毕业生事迹材料
2014/02/12 职场文书
亲子读书活动方案
2014/02/22 职场文书
交通事故协议书
2014/04/15 职场文书
五好关工委申报材料
2014/05/31 职场文书
学校食堂食品安全责任书
2014/07/28 职场文书
五五普法心得体会
2014/09/04 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书