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之第五天
Oct 09 PHP
php设计模式 FlyWeight (享元模式)
Jun 26 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 PHP
php中in_array函数用法分析
Nov 15 PHP
PHP 验证登陆类分享
Mar 13 PHP
基于thinkPHP框架实现留言板的方法
Oct 17 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 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用函数嵌入网站访问量计数器
Oct 27 #PHP
You might like
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
PHP解决中文乱码
2017/04/28 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
ES6新特性四:变量的解构赋值实例
2017/04/21 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
python3编写C/S网络程序实例教程
2014/08/25 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
手写一个python迭代器过程详解
2019/08/27 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
eBay德国站:eBay.de
2017/09/14 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
招商经理岗位职责
2013/11/16 职场文书
卫校中专生的自我评价
2014/01/15 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
说明书格式及范文
2014/05/07 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
delete in子查询不走索引问题分析
2022/07/07 MySQL