为自己的WordPress添加Cloudflare验证码

为自己的WordPress添加Cloudflare验证码

前言

我们自建的WordPress博客有时候可能会遭到异常流量的攻击从而导致正常用户无法访问,此时一个验证码就显得尤为重要。Cloudflare作为全球知名的域名托管商为我们提供了免费的验证码服务,我们可以利用这个验证码来更好地保护我们的网站。

先决条件

你的WordPress域名必须托管到Cloudflare,如果你不知道如何将自己其他地方的域名转入到Cloudflare,可以参考其他教程。

安装

首先我们需要在WordPress安装Simple Cloudflare Turnstile,这个插件能帮助我们连接到Cloudflare的验证码服务。

在这里插入图片描述

安装之后要记得点击启用才能正常打开插件。

安装完成之后会出现这样的界面,点击红框区域的链接获取我们所需要的site keysecret key

在这里插入图片描述

之后会跳转到Cloudflare的登录界面,你可以在红框标出部分修改仪表盘的语言为中文

在这里插入图片描述

我们点击中间的添加站点来为我们的网站添加验证码服务。

在这里插入图片描述

你可以和我一样给你的添加一个容易辨识的名字(如果你有很多域名的话你自己能分辨就可以),然后选择,即你网站的域名,小组件模式建议选择Cloudflare推荐的托管模式,它会自己选择是否需要对访问者使用验证码。

确定无误了之后我们点击创建

在这里插入图片描述

之后会显示出站点密钥密钥,此时我们返回到自己WordPress的Simple Cloudflare Turnstile插件中,将从Cloudflare中获得的key复制进去。

在这里插入图片描述

滑动到下面我们可以看到验证码开启的选项,从上到下分别是登录注册重置密码评论,笔者在这里都打开了,各位读者可以选择性打开。

在这里插入图片描述

在这里插入图片描述

如图这样就是成功了,我们可以点击TEST RESPONSE来测试API是否成功调用

在这里插入图片描述

现在,我们就已经成功为我们的WordPress站点添加了Cloudflare验证码。

结语

Cloudflare Turnstile在尽可能减少对访问者的干扰下保护了网站的安全,如果你的WordPress面临着被机器人或者各种诈骗评论的影响,不妨试一试这款快捷的验证码服务。

转载自我的个人博客:为自己的WordPress添加Cloudflare验证码

### 如何在 Cloudflare 中实现签到验证码功能 为了实现在 Cloudflare 上的签到验证码功能,可以利用 Cloudflare 的 Workers 和 Turnstile (以前称为 reCAPTCHA) 来创建一个简单的验证机制[^1]。 #### 使用 Cloudflare Workers 创建验证码逻辑 通过编写 JavaScript 代码来处理请求并返回 HTML 表单给客户端: ```javascript addEventListener('fetch', event => { let response = new Response(` <!DOCTYPE html> <html> <head><title>Sign-In</title></head> <body> <form action="/submit" method="POST"> <!-- Include the Turnstile widget --> <script src='https://challenges.cloudflare.com/turnstile/v0/api.js' async defer></script> <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div> <input type="submit" value="Submit"/> </form> </body> </html> `, {headers: {'Content-Type': 'text/html'}}) event.respondWith(response) }) ``` 此代码片段展示了如何向网页添加 Turnstile 小部件。注意替换 `YOUR_SITE_KEY` 为你自己的站点密钥[^2]。 #### 处理表单提交和验证响应 当用户完成挑战并通过点击按钮提交表格时,在服务器端需要检查用户的输入是否有效。这可以通过再次调用 API 并传递令牌来进行验证: ```javascript const SECRET_KEY = "your_secret_key"; async function verifyRecaptcha(token){ const url = `https://challenges.cloudflare.com/turnstile/siteverify?secret=${SECRET_KEY}&response=${token}`; try{ let res = await fetch(url); let jsonRes = await res.json(); return jsonRes.success; }catch(error){ console.log("Error verifying captcha:", error.message); throw Error("Failed to validate CAPTCHA"); } } ``` 这段脚本定义了一个异步函数用于发送 POST 请求至 Cloudflare 的验证服务,并解析 JSON 响应以判断验证码的有效性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值