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用户指南-cookies部分
Oct 09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
PHP similar_text 字符串的相似性比较函数
May 26 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 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 excel类 phpExcel使用方法介绍
2010/08/21 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
php-msf源码详解
2017/12/25 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
Python3 中文文件读写方法
2018/01/23 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
HTML5实现签到 功能
2018/10/09 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
高三自我评价
2014/02/01 职场文书
行政监察建议书
2014/05/19 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
三八妇女节寄语
2015/02/27 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
left join、inner join、right join的区别
2021/04/05 MySQL