微信平台token验证失败--PHP?

<?php
//1.将timestamp,nonce,toke按字典顺序排序
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$token = 'weixin';
$signature = $_GET['signature'];
$array = array($timestamp,$nonce,$token);
//2.将排序后的三个参数拼接之后用sha1加密
$tmpstr = implode('',$array);
$tmpstr = sha1($tmpstr);
echo $timestamp;
//3.将加密后的字符串与signature进行对比,判断该请求是否来自微信
if($tmpstr == $signature){
header('content-type:text');
echo $_GET['echostr'];
exit;
}
?>

其实你也可以跳过签名验证环节(因为这个实在是脱裤子放屁,完全没必要的),直接把微信服务器发来的echostr字串原封不动发送回去token验证就通过了,即只需要这么一句:
<?php
echo $_GET['echostr'];
?>
要注意的是,验证通过后,要把上述代码删掉或注释掉,然后换上正常的业务处理代码即可
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-30
$tmpstr = implode('&',$array);
要有个&
相似回答