Thinkphp5 微信公眾號token驗(yàn)證不成功的原因及解決方法
最近要啟動微信項(xiàng)目,上個月就開始了解微信的開發(fā),這個月要啟動項(xiàng)目,配置微信公眾號信息一直失敗。為此,我甚至手工寫了微信提交過來的記錄,如:
×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439
我眼睛看著驗(yàn)證信息沒錯,輸出的echostr跟get提交來的一模一樣,但是還是會出錯。忍無可忍,一直無法搞定。
自己做開發(fā)也算基本上路了,還在這種坑吃虧,有點(diǎn)不服,最后查看日志,一點(diǎn)點(diǎn)搞定。
以下是我解決問題的辦法:
1.網(wǎng)上有人說是header要設(shè)置utf-8,我也設(shè)置了,不行;
2.有人說可能是沒有日志寫入權(quán)限,導(dǎo)致信息能正常,但是頁面代碼不正常,打開console,發(fā)現(xiàn),網(wǎng)頁頭顯示500,麻蛋,這是服務(wù)器錯誤啊。
估計是騰訊一旦判斷到你的500代碼,就不繼續(xù)了。
最后檢查,發(fā)現(xiàn)是自己的服務(wù)器日志目錄權(quán)限不足,無法寫入日志!
就是這個原因,導(dǎo)致我浪費(fèi)很多小時。
最后,我把驗(yàn)證微信公眾號的token分享給各位兄弟,希望大家不要踩坑。
$token='請?zhí)顚懩愕墓娞杢oken';
$timestamp = $_GET[‘timestamp'];
$nonce = $_GET[‘nonce'];
$signature = $_GET[‘signature'];
$array = array($timestamp,$nonce,$token);
sort($array);
//2.將排序后的三個參數(shù)拼接后用sha1加密
$tmpstr = implode(”,$array);
$tmpstr = sha1($tmpstr);
//3. 將加密后的字符串與 signature 進(jìn)行對比, 判斷該請求是否來自微信
if($tmpstr == $signature)
{
echo $_GET[‘echostr'];
}
return false;
另外,提醒各位兄弟,配置信息再微信測試號配置會好些,即便錯了也不用每次都掃描二維碼,累死人。
微信測試號地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
以上這篇Thinkphp5 微信公眾號token驗(yàn)證不成功的原因及解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
laravel技巧之查詢構(gòu)造器Query Builder疊加鏈?zhǔn)秸{(diào)用的方法
這篇文章主要給大家介紹了關(guān)于laravel技巧之查詢構(gòu)造器Query Builder疊加鏈?zhǔn)秸{(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友下面來一起看看吧。2017-12-12
php數(shù)組應(yīng)用之比較兩個時間的相減排序
因網(wǎng)站需要實(shí)現(xiàn)兩個時間段的所有小說的收藏,點(diǎn)擊等操作,特把同事寫的代碼收藏下,以后有需要研究2008-08-08
Laravel路由研究之domain解決多域名問題的方法示例
這篇文章主要介紹了Laravel 路由研究之domain解決多域名問題的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
php實(shí)現(xiàn)memcache緩存示例講解
共享內(nèi)存是一種在相同機(jī)器中的應(yīng)用程序之間交換數(shù)據(jù)的有效方式,本文說的是php實(shí)現(xiàn)memcache緩存示例,大家參考使用吧2013-12-12
thinkphp框架page類與bootstrap分頁(美化)
這篇文章主要介紹了thinkphp框架page類與bootstrap分頁(美化) ,需要的朋友可以參考下2017-06-06
在Laravel5中正確設(shè)置文件權(quán)限的方法
這篇文章主要給大家介紹了關(guān)于如何在Laravel5中正確設(shè)置文件權(quán)限的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel5具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

