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 相关文章推荐
discuz7 phpMysql操作类
Jun 21 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP swfupload图片上传的实例代码
Sep 30 PHP
php如何实现只替换一次或N次
Oct 29 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
针对PHP开发安全问题的相关总结
Mar 22 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 PHP
一文搞懂php的垃圾回收机制
Jun 18 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中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
2014/08/22 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
YII框架中搜索分页jQuery写法详解
2016/12/19 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
Python运用于数据分析的简单教程
2015/03/27 Python
python 读文件,然后转化为矩阵的实例
2018/04/23 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
用Python逐行分析文件方法
2019/01/28 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
Django视图扩展类知识点详解
2019/10/25 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
浅析python函数式编程
2020/09/26 Python
办公室文员工作自我评价
2013/12/01 职场文书
校园活动策划方案
2014/06/13 职场文书
作风转变心得体会
2014/09/02 职场文书
学位证书委托书
2014/09/30 职场文书
小学端午节活动总结
2015/02/11 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
婚宴领导致辞
2015/07/28 职场文书
详细总结Python常见的安全问题
2021/05/21 Python