開放平臺上不是說要對發送的參數進行排序、加密、比對嗎?妳根本沒做!
妳看:
網站訪問
公眾平臺用戶提交信息後,微信服務器會向填寫好的URL發送GET請求,有四個參數:
-
參數描述
簽名微信加密簽名
時間戳時間戳
隨機數隨機數
Echostr隨機字符串
-
開發人員通過驗證簽名來驗證請求(下面有驗證方法)。如果確認GET請求來自微信服務器,請原樣返回echostr參數內容,訪問生效,否則訪問失敗。
Signature將開發人員填充的令牌參數與請求中的時間戳參數和nonce參數結合起來。
-
加密/驗證流程:
1.按照字典順序對令牌、時間戳和nonce這三個參數進行排序。
2.將三個參數字符串拼接成壹個字符串用於sha1加密。
3.開發者獲得的加密字符串可以與簽名進行比對,表明請求來自微信。