扫码关注官方订阅号
![图片上传中...]
检验signatrue 是没问题的,还可以输出 $_GET['echostr']; 但是一直token 验证失败,到底是为什么有没有谁知道,我找半天没找到哪里出问题了,救命啊!!
走同样的路,发现不同的人生
请使用以下代码,刚刚亲测。你代码的问题,应该是加密部分。
<?php
define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();
class wechatCallbackapiTest{
public function valid() { $echoStr = $_GET["echostr"]; //随机字符串 if($this->checkSignature()){ echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; //微信加密签名 $timestamp = $_GET["timestamp"]; //时间戳 $nonce = $_GET["nonce"]; //随机数 $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); //进行字典序排序 //sha1加密后与签名对比 if( sha1(implode($tmpArr)) == $signature ){ return true; }else{ return false; } }
}?>
最后的dump();是你验证失败后加的?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
请使用以下代码,刚刚亲测。你代码的问题,应该是加密部分。
<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
}
?>
最后的dump();是你验证失败后加的?