1. 程式人生 > >微信公眾號:伺服器如何配置(已啟用)?php實現介面配置伺服器資源資訊,填寫URL後正確響應微信傳送的Token驗證

微信公眾號:伺服器如何配置(已啟用)?php實現介面配置伺服器資源資訊,填寫URL後正確響應微信傳送的Token驗證

最終配置效果如下所示:

首先註冊微信公眾號,申請測試賬號什麼的我就不細說了。

一、關於微信公眾號接入網址

 這是從開發者文件上面弄下來的,下圖就是接入的地方,在開發者中心-伺服器的配置,

看一下微信開發者文件是怎麼說的

URL:就是你的伺服器的URL(要能響應TOKEN驗證,還要能在外網訪問到這個伺服器,因為自己有伺服器用就不說多了,沒有伺服器的可以用SAE,在上面申請,不過好像要實名認證,)

TOKEN:這個算是自己設定的一個驗證碼,要自己在程式碼裡面設定的(並且當微信伺服器器把GET請求發到你的伺服器的時候,能返回這個值,

注:微信伺服器的GET請求會帶四個引數signature,token,timestamp,echostr;POST請求會帶三個引數除了剛才的echostr)

EncodingAeskey:直接點選隨機生成就好了。

接著直接上程式碼

<?php
//定義常量token 

define('TOKEN','一畝地'); 
    
//檢查標籤
    function checkSignature()
    {
        //先獲取到這三個引數
        $signature = $_GET['signature'];   
        $nonce = $_GET['nonce']; 
        $timestamp = $_GET['timestamp']; 

              //把這三個引數存到一個數組裡面
        $tmpArr = array($timestamp,$nonce,TOKEN); 
        //進行字典排序
        sort($tmpArr);  
    
        //把陣列中的元素合併成字串,impode()函式是用來將一個數組合併成字串的
        $tmpStr = implode($tmpArr);  

        //sha1加密,呼叫sha1函式
               $tmpStr = sha1($tmpStr);
        //判斷加密後的字串是否和signature相等
        if($tmpStr == $signature) 
        {
            
            return true;
        }
        return false;
    }
//如果相等,驗證成功就返回echostr
    if(checkSignature())
     {    
        //返回echostr
        $echostr = $_GET['echostr'];
        if($echostr)   
        {
            echo $echostr;
            exit;
        }
    }

?>

備註:直接在你所寫的URL對應的位置下,上傳以上程式碼,然後寫入對應的token,在微信公眾平臺提交即可,完成伺服器的驗證!

最後把這個程式碼傳到你的伺服器,URL,token什麼的填寫好,出現配置成功就OK了。