通過這篇教程,你可以了解到這款WordPress插件的運(yùn)行機(jī)制,讓你的日志支持微信驗(yàn)證碼查看隱藏內(nèi)容,這樣可以用來給自己的公眾號進(jìn)行導(dǎo)流,也不失為一次有趣的回本方法。
- 原文來源:極客公園
這篇文章較為重要的就是起思路過程,值得一看。
思路
這里先簡單說一下這個設(shè)計思路,公眾號驗(yàn)證碼可見首先我們要設(shè)計一個驗(yàn)證碼,這個驗(yàn)證碼必須是唯一,并且是有過期時間的,從這一點(diǎn)來說,目前網(wǎng)上流傳這些公眾號驗(yàn)證碼可見功能其實(shí)是假的,因?yàn)檫@個驗(yàn)證碼是人工設(shè)置的,是一個固定的字符,使用一次之后就會知道。
首先想到的方法是采用一個公共的驗(yàn)證碼池,就是一次性生成一些驗(yàn)證碼,然后放在一個txt文件里面,然后去隨機(jī)調(diào)用,讀取文件之后組成數(shù)組,然后從數(shù)組中調(diào)出驗(yàn)證碼,這個方法實(shí)現(xiàn)之后,然后經(jīng)過思考了下,發(fā)現(xiàn)雖然能實(shí)現(xiàn)我需要的功能,但是沒法用,畢竟這樣等于驗(yàn)證碼直接公開了,所以這個方法被淘汰了,又重新設(shè)計了另一個驗(yàn)證碼方法。
驗(yàn)證碼設(shè)計
重新設(shè)計的驗(yàn)證碼方案是基于時間,域名和微信token的,時間上以1個小時為單位,那么有60分鐘,每分鐘對應(yīng)一個驗(yàn)證碼,就是有60個,比如13-12,分鐘就是12,那么驗(yàn)證碼可以簡單的設(shè)為12,如果需要每2分鐘換一次驗(yàn)證碼,當(dāng)前分鐘數(shù)除以2就可以了,以此類推。
將網(wǎng)站域名和當(dāng)前分鐘拼接字符串,比如拼接成12https://gitcafe.net,再加上微信公眾號token拼接成【12https://gitcafe.netweixintoken】,稍后對其加密計算,使用Sha1方法,計算出來是40位的字符串,我們截取其中6位作為驗(yàn)證碼,這個時候再加入日期,比如今天是2-18,那么就從第18個截取6為字符串,保證一個月30天驗(yàn)證碼不發(fā)生重復(fù),最終這個6位字符串作為驗(yàn)證碼可以發(fā)送到微信公眾號以及用來驗(yàn)證網(wǎng)頁輸入的驗(yàn)證碼是否正確。
驗(yàn)證碼設(shè)計OK了,下面就是連接微信公眾號了,在公眾號示例代碼基礎(chǔ)上稍微改改,只保留微信類,其他代碼全部不要,試驗(yàn)一下,OK,沒問題。
微信端好了,然后就是WordPress端了,這里我要吐槽一下網(wǎng)上流行的那個微信公眾號驗(yàn)證碼可見的代碼了,那么多時間還是一個原生的表單提交,而且是刷新之后會重復(fù)提交的。云落這里稍微改下,改為ajax提交實(shí)際體驗(yàn)會好些。
本文代碼不重要,重要的是驗(yàn)證碼設(shè)計思路,后面需要使用驗(yàn)證碼的地方也可以這樣設(shè)計,另外這種驗(yàn)證碼有一個小缺點(diǎn),就是過期時間并不是從驗(yàn)證碼生成之后開始計算的,是驗(yàn)證碼隨著時間過期的,所以如果你在59秒時獲取到驗(yàn)證碼就會立馬失效,當(dāng)然這個只是小缺點(diǎn),不妨礙使用,過期驗(yàn)證碼重新申請就可以了。
插件說明
Js代碼使用Jquery的
另外一個就是管理員是沒有效果的,管理員需要查看的話,需要退出賬號看下
如何使用
插件就一個wx.php文件,直接下載后上傳安裝,后臺激活,公眾號開發(fā)服務(wù)器地址 : 首頁?xxoo 后面字符隨便 設(shè)立token,然后把token寫在插件文件里面wx.php,里面就需要寫token和二維碼圖片,沒有后臺 設(shè)置 (全靠手動修改哦)
隱藏短代碼: [wxcaptcha]隱藏內(nèi)容[/wxcaptcha]
填寫規(guī)范:

define('WX_TOKEN', '我的微信Token');
define('WX_QR', '我的公眾號二維碼');