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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
ThinkPHP连接数据库及主从数据库的设置教程
Aug 22 PHP
什么情况下可以不写PHP的闭合标签“?>”
Aug 28 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 PHP
PHP获取HTTP body内容的方法
Dec 31 PHP
vmware linux系统安装最新的php7图解
Apr 14 PHP
PHP之多条件混合筛选功能的实现方法
Oct 09 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
用PHP读取IMAP邮件
2006/10/09 PHP
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
解析在apache里面给php写虚拟目录的详细方法
2013/06/24 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
2018/05/12 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
基于JQuery制作的产品广告效果
2010/12/08 Javascript
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
vue生命周期实例小结
2018/08/15 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
用Python的urllib库提交WEB表单
2009/02/24 Python
python图像常规操作
2017/11/11 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
python 接口返回的json字符串实例
2018/03/27 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
HTML5 3D衣服摇摆动画特效
2016/03/17 HTML / CSS
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
产品销售员岗位职责
2013/12/18 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
动员大会主持词
2014/03/20 职场文书
放假通知格式
2015/04/14 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
基于Python编写一个监控CPU的应用系统
2022/06/25 Python