最近快被洋鬼子的垃圾评论轰炸到自闭了,每天都要上线清理垃圾评论,之前我使用 IP 封禁、关键词过滤等手段感觉都不太好使,索性还是加上人机验证吧,虽然会稍微有点影响用户使用,但应该能在很大程度上规避垃圾评论了
写篇博文记录一下安装过程,以免之后忘了,顺便水一篇文章
什么是reCAPTCHA
你应该在很多地方见过这个验证按钮,它需要你向电脑证明“我是人类”
有的时候你只需要点击按钮就可以通过验证,而有时候他需要你进行各种各样的图像识别验证
reCAPTCHA项目是由卡内基梅隆大学所发展的系统,主要目的是利用CAPTCHA技术来帮助典籍数字化的进行,这个项目将由书本扫描下来无法准确的被光学文字识别技术识别的文字显示在CAPTCHA问题中,让人类在回答CAPTCHA问题时用人脑加以识别。reCAPTCHA正数字化《纽约时报》(New York Times)的扫描存档,目前已经完成20年份的资料,并希望在2010年完成110年份的资料。2009年9月17日,Google宣布收购reCAPTCHA。
申请reCAPTCHA密钥
打开 http://www.google.com/recaptcha/admin 注册新网站
一般选择 reCAPTCHA 第 2 版
、“进行人机身份验证”复选框
就可以
在之后的页面会展示你申请到的一组密钥,先记下来,等会要用
安装 WordPress 插件 reCaptcha by BestWebSoft
在 WordPress 管理后台搜索安装插件 reCaptcha by BestWebSoft
安装启用后,进入插件设置页面,在 Authentication
填入刚刚获取到的一组密钥
reCaptcha Version
选择 Version 2
(与刚刚申请的版本一致)
Enable reCaptcha for
中选择需要使用 reCAPTCHA 的表单
最后保存设置就可以了
大陆使用优化
由于在国内连不上 google.com
,刚刚设置好的 reCAPTCHA 对很多大陆用户来说是不生效的,我们需要把插件中所有默认指向 google.com
的链接都替换为 recaptcha.net
,因为这个域名是谷歌在中国设的服务器
在 WordPress 管理后台打开 插件编辑器
,选择插件 reCaptcha by BestWebSoft
,编辑文件 google-captcha/google-captcha.php
- 查找所有
google.com
,替换为recaptcha.net
- 查找
google\.com
,替换为recaptcha\.net
- 将685行、691行的
' . $use_globally . '
替换为recaptcha.net
替换前:
$api_url = sprintf( 'https://www.' . $use_globally . '/recaptcha/api.js?%srender=explicit', $callback ); break; case ( isset( $gglcptch_options['recaptcha_version'] ) && 'v3' == $gglcptch_options['recaptcha_version'] ) : $api_url = sprintf( 'https://www.' . $use_globally . '/recaptcha/api.js?render=%s', $gglcptch_options['public_key'] );
替换后:
$api_url = sprintf( 'https://www.recaptcha.net/recaptcha/api.js?%srender=explicit', $callback ); break; case ( isset( $gglcptch_options['recaptcha_version'] ) && 'v3' == $gglcptch_options['recaptcha_version'] ) : $api_url = sprintf( 'https://www.recaptcha.net/recaptcha/api.js?render=%s', $gglcptch_options['public_key'] );
Kratos 主题似乎和 reCaptcha by BestWebSoft 这插件不是很兼容,评论区的 reCAPTCHA 验证弹不出来,目前只有登陆界面生效了。
所以暂时先把评论区设为仅登陆可评论了,大家见谅
替换 recaptcha.net 的方法参考文章 https://www.cheshirex.com/2362.html
文章评论
请教一下博主,你的博客评论 和注册 是如何用邮件提醒的呢 !是插件吗 !请教有相关教程吗?谢谢
@ding WordPress默认就支持邮件提醒,但没有配置smtp的设置选项,你安装一个smtp插件配置一下发件邮箱就行了
谢谢 ! 你的主题是自己优化的吗? 和作者的不太一样,作者的主题反应好慢 ,后台都比前台快。
@ding 我确实改了一些代码,但是大部分都是外观上的。性能上应该没啥区别吧。卡的话可以检查一下是不是哪些js、css文件走的cdn慢,可以换到本地或者更快的cdn