這篇“thinkphp token失敗如何解決”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“thinkphp token失敗如何解決”文章吧。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、淅川網(wǎng)站維護(hù)、網(wǎng)站推廣。
thinkphp token失敗的解決辦法:1、打開(kāi)微信小程序token校驗(yàn)代碼;2、在輸出“echostr”前,清空緩存區(qū),也就是在echo前放置“ob_clean();”代碼即可解決token失敗問(wèn)題。
解決ThinkPHP微信小程序token校驗(yàn)失敗
今天在做微信小程序的學(xué)習(xí),申請(qǐng)了一個(gè)小程序賬號(hào),申請(qǐng)步驟:微信小程序開(kāi)發(fā)-注冊(cè)賬號(hào)。
在進(jìn)行開(kāi)發(fā)配置過(guò)程中,需要填寫(xiě)服務(wù)器信息,校驗(yàn)token,但是一直是校驗(yàn)失敗的狀態(tài),看了他人的處理方式,總結(jié)出來(lái)了辦法,分享出來(lái)。
解決辦法:在輸出“echostr”前,清空緩存區(qū),即在echo 前放置“ob_clean();”代碼。
官方解釋?zhuān)簅b_clean() 此函數(shù)用來(lái)丟棄輸出緩沖區(qū)中的內(nèi)容;
校驗(yàn)代碼如下:
/** * 微信小程序token校驗(yàn) * @return bool */ public function wxtoken() { $signature = input('get.signature'); $timestamp = input('get.timestamp'); $nonce = input('get.nonce'); $token = '1234567'; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if($tmpStr == $signature){ ob_clean(); echo input('get.echostr'); }else{ return false; } }
微信官方對(duì)token校驗(yàn)的說(shuō)明為:開(kāi)發(fā)者通過(guò)檢驗(yàn)signature對(duì)請(qǐng)求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請(qǐng)求來(lái)自微信服務(wù)器,請(qǐng)?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開(kāi)發(fā)者成功,否則接入失敗。
加密/校驗(yàn)流程如下:
1、將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序
2、將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密
3、開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信。
thinkphp屬于一種免費(fèi)的開(kāi)發(fā)框架,能夠用于開(kāi)發(fā)前端網(wǎng)頁(yè),最早thinkphp是為了簡(jiǎn)化開(kāi)發(fā)而產(chǎn)生的,thinkphp同時(shí)也是遵循Apache2協(xié)議,最初是從Struts演變過(guò)來(lái),也把國(guó)外一些好的框架模式進(jìn)行利用,使用面向?qū)ο蟮拈_(kāi)發(fā)結(jié)構(gòu),兼容了很多標(biāo)簽庫(kù)等模式,它能夠更方便和快捷的開(kāi)發(fā)和部署應(yīng)用,當(dāng)然不僅僅是企業(yè)級(jí)應(yīng)用,任何php應(yīng)用開(kāi)發(fā)都可以從thinkphp的簡(jiǎn)單、兼容和快速的特性中受益。
以上就是關(guān)于“thinkphp token失敗如何解決”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。