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 相关文章推荐
JS 网站性能优化笔记
May 24 PHP
php将gd生成的图片缓存到memcache的小例子
Jun 05 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
PHP代码加密的方法总结
Mar 13 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
php生出随机字符串
2017/07/06 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
Python气泡提示与标签的实现
2020/04/01 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
介绍一下内联、左联、右联
2013/12/31 面试题
自荐信的格式
2014/03/10 职场文书
我为自己代言广告词
2014/03/18 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
个人先进事迹总结
2015/02/26 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
解决 Redis 秒杀超卖场景的高并发
2022/04/12 Redis