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 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
PHP可变函数的使用详解
Jun 14 PHP
PHP多例模式介绍
Jun 24 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP.vs.JAVA
Apr 29 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP生成word文档的三种实现方式
Nov 14 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP封装的完整分页类示例
Aug 21 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来检测proxy
2006/10/09 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php排序算法实例分析
2016/10/17 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
RxJS在TypeScript中的简单使用详解
2020/04/13 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
用python制作游戏外挂
2018/01/04 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
python list的index()和find()的实现
2020/11/16 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
工程造价专业大学生职业规划范文
2014/03/09 职场文书
校园演讲稿汇总
2014/05/21 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
小学见习报告
2014/10/31 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
本溪关门山导游词
2015/02/09 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
《正比例》教学反思
2016/02/23 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers