微信公众号绑定服务器的验证流程

class WeixinToken
{
private $app_id;
private $tokens; //这个值和微信公众号平台设定的值是一样的
private $app_secret;

public function __construct($appid,$appsecret,$token)
{ 
    # code... 
    $this->app_id = $appid; 
    $this->app_secret = $appsecret;
    $this->tokens =$token;
} 
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 = $this->token;
    $tmpArr = array($token, $timestamp, $nonce); 
    sort($tmpArr); 
    $tmpStr = implode( $tmpArr ); 
    $tmpStr = sha1( $tmpStr ); 

    if( $tmpStr == $signature ){ 
        return true; 
    }else{ 
        return false; 
    } 
} 

}
只需实例化这个类,并调用valid这个方法,就可以完成域名的绑定
————————————————
版权声明:本文为CSDN博主「浮生如梦梦若浮生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35730500/article/details/53536304**class WeixinToken
{
private $app_id;
private $tokens;
private $app_secret;

public function __construct($appid,$appsecret,$token)
{ 
    # code... 
    $this->app_id = $appid; 
    $this->app_secret = $appsecret;
    $this->tokens =$token;
} 
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 = $this->token;
    $tmpArr = array($token, $timestamp, $nonce); 
    sort($tmpArr); 
    $tmpStr = implode( $tmpArr ); 
    $tmpStr = sha1( $tmpStr ); 

    if( $tmpStr == $signature ){ 
        return true; 
    }else{ 
        return false; 
    } 
} 

}
只需实例化这个类,并调用valid这个方法,就可以完成域名的绑定
————————————————
版权声明:本文为CSDN博主「浮生如梦梦若浮生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35730500/article/details/53536304**