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 相关文章推荐
使用sockets:从新闻组中获取文章(三)
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
php 魔术方法详解
Nov 11 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
PHP消息队列用法实例分析
Feb 12 PHP
php文件缓存方法总结
Mar 16 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 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实现登陆验证码(类似条行码状)
2006/10/09 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
详解WordPress开发中get_header()获取头部函数的用法
2016/01/08 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
php报错502badgateway解决方法
2019/10/11 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
Node.js实现发送邮件功能
2017/11/06 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
用pickle存储Python的原生对象方法
2017/04/28 Python
学习python可以干什么
2019/02/26 Python
python实现发送邮件
2021/03/02 Python
办公室副主任岗位职责
2013/11/25 职场文书
财务管理专业自荐书
2014/09/02 职场文书
实验心得体会
2014/09/05 职场文书
冰峪沟导游词
2015/02/09 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书