1、php文件编码问题
用NotPad 打开,是否为UTF-8无BOM编码格式,不是专为UTF-8无BOM编码格式
有空格把空格去掉
不一致无法进行sha1算法验证
4、通过sha1算法验证,还是token验证失败
通过日志参查看信服务器访问路径,在浏览器里面打开一遍,发现有echostr内容输出。
方法一、在输出echo $echostr前添加 header(‘content-type:text’);
方法二、最后在echo$echoStr前面加一句ob_clean();
public function valid()
{
$echoStr = $_GET[“echostr”];
if ($this->checkSignature()) {
ob_clean();
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET[‘signature’];
$timestamp = $_GET[‘timestamp’];
$nonce = $_GET[‘nonce’];
//将时间戳,随机字符串,token按照字母顺序排序,病并连接
$tmpArr = array(self::TOKEN, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode(“”, $tmpArr);
$token = sha1($tmpStr);
if ($token == $signature) {
return true;
} else {
return false;
}
}