微信服务器验证TOKEN,报错$_GET['echostr']未定义数组索引
super
2020-08-07 21:09
3609
环境:
ThinkPHP5.1,Linux,nginx
问题:
微信公众号验证TOKEN,报错$_GET['echostr']未定义
解决:
ThinkPHP,把
$_GET['echostr'] => input('echostr');
$_GET['signature'] => input('signature');
$_GET['timestamp'] => input('timestamp');
$_GET['nonce'] => input('nonce');
以下(验证TOKEN)代码可直接使用(myToken改为你的TOKEN):
public function index()
{
define("TOKEN", "myToken");
$this->valid();
exit();
}
public function valid()
{
$echoStr = input("echostr");
//valid signature , option
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = input("signature");
$timestamp = input("timestamp");
$nonce = input("nonce");
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if ( $tmpStr == $signature ) {
return true;
} else {
return false;
}
}
0 条讨论