给网站添加微信公众号验证码查看隐藏内容功能
通过这篇教程,你可以了解到这款 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', '我的公众号二维码');
还没有人赞赏,快来当第一个赞赏的人吧!
- 2¥
- 5¥
- 10¥
- 20¥
- 50¥