这是一篇迟到的文章。
今天早上翻ob看我写的文章的时候发现了这篇只有一个标题的文章。看来是有了灵感记在ob上忘记写了。
WordPress的安全对我来说一直是一个老大难的问题。之前建立的一个wordpress就是因为安全问题被黑。评论区被刷,后台也进不去了。最后只能忍痛用备份恢复,但一些文章已经找不到了。
吸取教训以后我在这个wp上配置好了Wordfence插件,开启了二次认证。还有这个Cloudflare Turnstile。
什么是Cloudflare Turnstile?
CloudflareTurnstile —— 可以把它理解为”更体面的验证码”。传统 CAPTCHA(包括 Google reCAPTCHA)的痛点大家都懂:辨识模糊文字、点交通标志,既烦人又涉嫌拿用户数据做广告。Turnstile 的思路是反过来的——它默认无感,在浏览器后台跑一组挑战,靠浏览器特征和行为信号判断是不是真人;只有信号可疑时才掉回一次简单的勾选。对站长来说,免费、不绑定 Cloudflare 代理、嵌一段前端代码 + 后端调一下 siteverify 就搞定,表单防刷、登录防暴力基本够用。
简单来说就是平时在一些网站上可以看到的验证“是否为人类”的验证码。
我找了一张图片可以参考一下。

为什么我需要Cloudflare Turnstile?
目前我在Wordfence上开启了防暴力破解,二步验证,一些速率限制。都是为了尽可能的保护网站。但我想更进一步,有没有可能限制只有经过验证的“人类用户”才可以登录我的后台?Cloudflare Turnstile就是我的选择。
在WordPress后台→插件→安装插件,搜索 Simple Cloudflare Turnstile,安装并启用插件,即可开启cf的验证码。具体步骤如下:
1. 登录Cloudflare控制台,左侧打开 Turnstile,添加站点,填入你的网站域名。
2. 组件模式选Managed(托管),创建,复制:
◦ Site Key(前端密钥)
◦ Secret Key(后端验证密钥,务必保密)
插件还可以设置为只有经过验证的用户才能点击登录按钮。
用豆包生成了一张效果图如下。

如果需要更加强力的保护(将整个后台登录重定向至cf的验证页面,只有通过验证码才能访问)cf还有更强大的 Cloudflare Zero Trust(零信任)。
两个方案区别如下:
方案A:Turnstile 验证码作用:打开登录页就能输账号密码,但必须过人机验证才能提交登录适合:只防暴力破解、机器人刷登录,访客可以正常打开登录页面
方案B:Zero Trust Access 前置拦截(更强防护)作用:没登录Cloudflare零信任身份的用户,根本打不开wp-login.php页面,直接卡在CF授权页适合:只有自己、团队人员登录后台,完全禁止陌生人访问登录地址
“给博客后台增加了Cloudflare Turnstile验证”上的4条回复
哈哈,我的网站都是水文博客。应该没什么人关注,所以验证这种东西感觉到可有可无。如果添加上去的话会安全一点。可也会给用户带来体验的不佳。因为有点繁琐!☺️
这个方案在国内好用么,我记得这个验证码好像加载很慢。
很好用,加载不慢的。
很讨厌这个免费的验证,有时候等很久都没验证好