Typecho 评论验证插件 CaptchaPlus
最近的博客收到的垃圾邮件越来越多,虽然设置了简单的算术验证,但对于 bot 来说形同虚设,每天都能收到 10+ 的垃圾邮件,不得不上一些更有效的验证手段。
研究了一圈网上能搜到的评论验证插件,基本上都是年久未修,最后准备使用 reCAPTCHA 这个插件,但考虑到 reCaptcha 在国内几乎不可用,所以在此基础上修改为了使用 hCaptcha 验证虽然在不少地区的体验也很糟糕。
使用方法
- Github 地址:https://github.com/scenery/typecho-plugins
- Typecho 版本:>= 1.2.0
a. 注册 hCaptcha 或者 Cloudflare 账号,在 Sites 菜单栏里点击 New Site
添加一个网站获取 Site Key
,点击你的头像 - Settings 获取 Secret Key
。
b. 下载插件,文件夹命名为 CaptchaPlus
后上传到网站 /usr/plugins/
路径下。
c. 进入网站后台-控制台-插件,点击启用:
- Site Key:第一步中获取的
Site Key
- Secret Key:第一步中获取的
Secret Key
- Widget Theme:主题颜色,可设置
Light
或者Dark
- Widget Size:样式大小,可设置
Normal
或者Compact
设置好后点击保存。
d. 打开 /usr/themes/
你的主题目录下 comments.php
文件,在提交按钮前面/后面插入下面代码:
<?php if (array_key_exists('CaptchaPlus', Typecho_Plugin::export()['activated'])) : CaptchaPlus_Plugin::output(); endif; ?>
*e. 网站管理员登录后不用进行验证,可直接提交评论。如果用户/游客提交评论失败,可能是开启了评论反垃圾保护导致,在网站后台-设置-评论里关闭,或者在主题目录下的 functions.php
文件中找到 function themeInit()
函数,里面添加:
$options = Helper::options();
$options -> commentsAntiSpam = false;
完成设置启用后,应该可以摆脱大部分垃圾评论了,后期可能会整合评论审核过滤和邮件提醒功能进去但 73.23% 的概率会鸽。
Update 2022-11-10
完善逻辑,新增评论过滤功能,可以设置过滤俄文和非中文评论,同时支持设置关键词过滤(感谢 CommentFilter)。并将插件名从 hCaptcha
修改为 CaptchaPlus
。
Update 2023-01-22
为了更好的用户体验,增加了 Cloudflare 推出的 Turnstile 验证工具,虽然很早就注意到了这个验证工具,但一直没时间研究。趁着春节终于学习了下,发现几乎可以无痛替换 reCpatcha 或者 hCaptcha,赶紧添加上体验下。
Turnstile 大多数情况下无需用户交互,不用去点击烦人的验证图片,利用内置与苹果合作的 Private Access Tokens,无感知进行人机识别,根据会话期间显示的遥测和客户端行为,自动选择回应一系列轮换的非侵入性浏览器质询,无需验证的同时带来更好的隐私保护。
使用也很简单,登录你 Cloudflare 账号进入控制台,选择左侧边栏的 Turnstile
添加站点。
点击创建之后会给你一个站点密钥和密钥,保存下来填入 CaptchaPlus 设置里对应的 Site Key
和 Secret Key
即可。
体验下来还是很不错,但不可避免的,Cloudflare 在国内被滥用的情况不容乐观,连接体验因地区而异,会小概率出现间歇性无法连接。但比起 hCaptcha,个人还是更推荐 Turnstile,目前来说,Cloudflare 还是更值得信赖的。
转自 atpx
好用!
感谢感谢
星光不问赶路人,时光不负有心人~