微信公眾號開發第一步是實現服務器與微信後台的接入驗證。本文詳解從申請公眾號到完成URL驗證的完整流程,附PHP參考實作。
signature:微信加密簽名timestamp:時間戳nonce:隨機數echostr:隨機字串token、timestamp、nonce 字典序排序拼接 → SHA1加密 → 與 signature 比對echostr;失敗:返回空或錯誤資訊valid();
class WechatCallbackAPI {
private $token = "WEIXIN"; // 與公眾平台設定一致
private $appId = "APPID";
private $appSecret = "APPSECRET";
private function checkSignature() {
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$tmpArr = [$this->token, $timestamp, $nonce];
sort($tmpArr, SORT_STRING);
$tmpStr = sha1(implode($tmpArr));
return $tmpStr === $signature;
}
public function valid() {
$echoStr = $_GET["echostr"];
if ($this->checkSignature()) {
echo $echoStr;
exit;
}
}
}
?>
echostr,否則驗證失敗valid() 呼叫,正式處理業務邏輯驗證通過即成為開發者,可進一步實現:自動回覆、自定義選單、網頁授權、微信支付、模板消息、客服消息等高級功能。