ThinkPHP 3.2.3响应微信发送的Token验证失败

1、服务器配置是阿里云的linux

2、下载微信的Token验证Demo,放于根目录测试链接没有任何问题:
URL http://www.XXX.com/wx_sample.php
Token weixin

3、将验证代码置于TP框架中(application/Weixin/Controller/IndexController.php):
<?php
namespace Wxapi\Controller;

use Think\Controller;
class IndexController extends Controller
{
function index()
{
define(‘TOKEN‘,‘weixin‘);
// $this->valid();
if (!isset($_GET[‘echostr‘])) {
$this->responseMsg();
} else {
$this->valid();
}
}
//接收消息验证
public function valid()
{
$echoStr = $_GET["echostr"];
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
if ($tmpStr == $signature) {
ob_clean(); //增加的一行
echo $echoStr;
exit;
}
}

通过访问:
URL     http://www.XXX.com/index.php/Weixin/Index/index

Token weixin

配置始终失败!

4、问题所在:Thinkephp框架index入口文件utf-8编码返回BOM头问题

5、解决方式:
(1)去掉index.php的BOM头。可以用编程工具新建一个index.php,重新写入代码替换掉入口文件
(2)在echo $echoStr; 前增加语句ob_clean();

原文地址:http://blog.51cto.com/13238147/2313609

时间: 2024-08-30 01:58:12

ThinkPHP 3.2.3响应微信发送的Token验证失败的相关文章

C# 响应微信发送的Token验证,文字、图文自动回复、请求客服对话.....

代码如下,有需要的可以参考: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Data; 8 using System.IO; 9 using System.Net; 10 using System.Text; 11

php:微信公众号token验证失败原因、验证码显示不出来的问题

ob_clean(); 问题描述: 用微信官方提供的demo验证token是成功的,但是放到自己网站的框架上进行token验证老是提示"token验证失败",经过检查(用生成日志的方式一步步检查的),地址,token信息,微信....等待账号信息是没有任何问题的. 解决方案: 最终在echo $_GET['echostr'];前添加了一句代码ob_clean();把问题搞定. 问题分析: 因为用的是框架,在echo $_GET['echostr'];之前可能有一些你不知道的输出到&qu

微信公众平台Token验证失败的解决办法

1.可查看url和token是否正确 2.查看服务器端口是否为80端口 3.你可以通过记录log日志来判断是否接受到微信提交过来的信息 1.$fp=fopen("log.txt","w+");2.$strText='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\r\n";3.fwrite($fp,$strText); 把上述代码粘贴到private function checkS

自己的服务器通过微信公众号Token验证测试的代码(Python版)

我在阿里云租了一个云服务器,然后想把这个作为我的微信公众号的后台,启用微信公众号开发者需要正确的响应微信服务器的Token验证,为此把这个验证的Python代码贴出来,只要在服务器上运行这段代码,注意把Token的值改成你自己的值,然后在微信后台填对你的服务器的公网IP,提交就可以通过验证了 #coding=utf-8 html = '''True ''' import socket import signal import errno import re import os import ha

微信公众号 报token验证失败

最近两天一直碰到token验证失败的问题,如下图所示 然后上网疯狂的搜索答案,碰到的人还真不少,原因大概有这几个: 1)服务器URL未实名认证 2)token重名(基本不可能) 3)服务器部署的项目 访问异常(比如404等) 无奈了,自己都是好的啊这些. 服务器URL已经实名认证,token也没有问题,项目在本地和服务器均正常,到底是什么原因那? 自己用的是阿里云的服务器,刚开始怀疑是绑定的域名的问题.由于自己使用了A域名绑定 以及 隐形URL域名,应该没什么问题吧. 但是无论如何还是一直报to

Thinkphp5 微信公众号token验证不成功的原因

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败.为此,我甚至手工写了微信提交过来的记录,如: &timestamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439 我眼睛看着验证信息没错,输出的echostr跟get提交来的一模一样,但是还是会出错.忍无可忍,一直无

微信服务器配置---服务器地址(URL) :报错 token验证失败

服务器配置---服务器地址(URL) :报错 token验证失败. 原因之一是: 开发调试环境(本机) 的ip变化,没有及时配置ip白名单. 也可以反向验证:在配置好jeewx工程之公众号信息后,可以点击按钮“重置微信token”,看看是否报错40164: 微信错误:errcode=40164,该错误信息:无效ip 地址,不在白名单中. 原因之二是: netapp的隧道变化了. 原文地址:https://www.cnblogs.com/wuxingang/p/11240050.html

thinkphp微信开发token验证失败

这几天弄微信,token验证总是不过 最终在网上找到解决办法! 原文 这几天弄微信,token验证总是不过. 经过多方查找,终于找到了问题. 是因为写代码时打开了页面输出和调试模式. 经过总结如下: 注意:关闭debug模式.关闭页面trace信息输出,启用sae引擎 做到这三步,配置成功没有问题 config.php文件: 'SHOW_PAGE_TRACE' =>false, // 显示页面Trace信息 index.php文件: define('APP_DEBUG', false); def

微信公众平台——token验证php版

这几天开始接触微信公众号的开发,注册这些就不说了,我是先弄了个测试号用着.进入正题 所谓token验证,其实就是微信服务器向自己要用到的服务器url发送一段数据,其中有一个参数$_GET['echhostr'],这个参数在经过一系列逻辑判断后再原封不动返回给微信也就是 echo $_GET['echhostr']; 碰到的一些小问题解决方法如下: 1.微信开发后台上的token要与php代码中定义的一致: 2.加header('content-type:text'); 3.还不行就加 ob_cl