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

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