XCaptcha-for-Typecho 新一代的Typecho验证插件
起因
之前由于博客垃圾评论过多,因此想要找一个验证码插件来给评论提交添加验证。一开始我用的是本地的数字图片验证码,后来在别人项目的基础上改进了CairBin/typecho-plugin-geetest。
但是这个仅支持极验证,如果需要用Google reCaptcha等还需要重新上传,于是便打算自己写一个支持多种验证码的插件。
Github项目地址 CairBin/XCaptcha
支持
目前支持的验证码如下:
使用方式
下载本项目
通过git命令来获取本项目:
git clone https://github.com/CairBin/XCaptcha.git
或者通过下载的方式获取压缩包,解压后的文件夹名称修改为XCaptcha
。
配置插件
将XCaptcha
文件夹上传到你的Typecho博客的usr/plugins/
目录下,在Typecho后台的插件面板里激活即可。
从上述所支持验证码的官网注册账户,然后获取你站点的Captcha ID
和Secret Key
,有的也叫Site Key
和Secret Key
,本质上都一样,对应公钥和私钥。前者用于前端标识可以公开,后者用于服务端向验证码服务器校验需要保密。
修改你主题模板的comments.php
文件,主题目录是usr/themes/your_them/
,在评论提交按钮之前或者表单最后添加一行代码:
<?php if (array_key_exists('XCaptcha', Typecho_Plugin::export()['activated'])) : XCaptcha_Plugin::showCaptcha(); endif; ?>
回到博客后台配置插件,将获取到的ID/Key填写进去,以及配置其他参数即可。
这里需要特别说明一下,“引入JS的CDN加速地址”取决于网络情况,它会替代原本引入的验证初始化脚本(不是二次验证的接口),如果遇到某些JS加载缓慢可以使用,如果不明白留空即可。
另外,如果勾选了开启登陆页面验证码则,注册页面也会跟着开启,前提是你启动了注册功能。
项目展示
特别感谢
本项目在编写时参考了其他插件项目:
2 条评论
完了,我的主题没有comments.php文件
在其他PHP文件里找到评论提交表单那部分就行,有的主题不一定非得有comments.php