欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

微信服務器GET的方法和檢驗方法(一步一)
2023-09-10 15:00:45 歡樂點

第一步:填寫服務器配置

在開發->基本配置處啟用服務器配置。更改配置

其中URL是開發者拿來接收微信消息和風波的插口URL。

Token可由開發者可以任意填寫,用作生成簽名(該Token會和插口URL中包含的Token進行比對,進而驗證安全性)。

由開發者自動填寫或隨機生成,將用作消息體加揭秘秘鑰。

點擊遞交

第二步:驗證服務器地址的有效性

開發者遞交信息后,微信服務器將發送GET懇求到填寫的服務器地址URL上,GET懇求攜帶四個參數:

------微信加密簽名,結合了開發者填寫的token參數和懇求中的參數、nonce參數。

------時間戳

nonce------隨機數

------隨機字符串

開發者通過檢驗對懇求進行校準(下邊有校準方法)。若確認這次GET懇求來自微信服務器,請原貌返回參數內容,則接入生效微信接單平臺,成為開發者成功微信接單平臺,否則接入失敗。

    //獲取接口Token值和UID
        $memberModel = D('Member');
        $userinfo = $memberModel -> getWechatInfo(WID);
        
        //獲取用戶的微信賬號信息 
        $weixinLogic = D('Weixin','Logic');
        $weixin = $weixinLogic -> detail(WID);
        
        $weixin = new ThinkWechat($userinfo['token']);

在微信公共函數上面,檢驗:

if(IS_GET){
            $this->auth($token) || die('token信息錯誤');
            exit($_GET['echostr']);
        }
        
 /**
     * 對數據進行簽名認證,確保是微信發送的數據
     * @param  string $token 微信開放平臺設置的TOKEN
     * @return boolean       true-簽名正確,false-簽名錯誤
     */
    private function auth($token){
        /* 獲取數據 */
        $data = array($_GET['timestamp'], $_GET['nonce'], $token);
        $sign = $_GET['signature'];
        
        /* 對數據進行字典排序 */
        sort($data, SORT_STRING);
        /* 生成簽名 */
        $signature = sha1(implode($data));
        return $signature === $sign;
    }

注意:隨后用戶每次向公眾號發送消息、或者形成自定義菜單點擊風波時,開發者填寫的服務器配置URL將得到微信服務器推送過來的消息和風波,之后開發者可以根據自身業務邏輯進行響應,比如回復消息等。

免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。

歡樂點

留言咨詢

×