LogoMkSaaS文档
LogoMkSaaS文档
首页模板介绍代码库视频教程入门文档环境配置
网站配置

功能集成

数据库身份验证邮件邮件订阅存储支付积分定时任务AI 功能统计分析通知验证码聊天框联盟营销

自定义

元数据字体主题图片国际化博客文档组件页面落地页用户管理密钥管理

代码库

IDE 设置项目结构格式化和代码检查更新代码库
X (Twitter)

验证码

学习如何在 MkSaaS 中设置和使用验证码

MkSaaS 支持使用 Cloudflare Turnstile 作为验证码服务,这允许您保护您的网站免受攻击和滥用。

设置

登录 Cloudflare

登录 Cloudflare 仪表盘 并选择您的账户。

创建 Turnstile 小部件

点击 Turnstile。选择 Add widget 并填写网站名称和您网站的主机名(例如 YOUR-DOMAIN.com 或 localhost)。

配置小部件模式

将小部件模式选择为 Managed。选择预清除支持(可选)。

设置环境变量

复制您的 Site Key 和 Secret Key,并将其粘贴到环境变量文件中。

.env
NEXT_PUBLIC_TURNSTILE_SITE_KEY=
TURNSTILE_SECRET_KEY=

Cloudflare Turnstile

在配置中启用验证码

在 website.tsx 文件中设置 enableTurnstileCaptcha 为 true (默认是 false)

src/config/website.tsx
export const websiteConfig: WebsiteConfig = {
  features: {
    enableTurnstileCaptcha: true,
  },
}

有关更多详细信息,请参阅 Cloudflare Turnstile 文档 和 React Turnstile 文档。

如果您正在设置环境,现在您可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。

环境配置

设置环境变量


验证码系统架构

captcha.tsx
captcha.ts
  • components/shared/captcha.tsx:验证码组件。
  • lib/captcha.ts:用于校验验证码的工具库。

使用验证码

验证码组件目前仅在注册和登录表单中使用,但您也可以复用相关代码,在其他地方使用它。

src/components/auth/register-form.tsx
import { Captcha } from '@/components/shared/captcha';

export default function RegisterForm() {
  // ...

  return (
    <Form {...form}>
      <form onSubmit={form.handleSubmit(onSubmit)}>
        {/* ... */}
        <Captcha
            onSuccess={(token) => form.setValue('captchaToken', token)}
            validationError={form.formState.errors.captchaToken?.message}
          />
          <Button
            disabled={isPending || (turnstileEnabled && !captchaToken)}
            size="lg"
            type="submit"
            className="cursor-pointer w-full flex items-center justify-center gap-2"
          >
            {isPending && <Loader2Icon className="mr-2 size-4 animate-spin" />}
            <span>{t('signUp')}</span>
          </Button>
        </form>
    </Form>
  );
}

Captcha

参考资料

  • Cloudflare Turnstile 文档
  • React Turnstile 依赖库文档
  • 将 Cloudflare Turnstile 添加到 Next.js 15

视频教程

下一步

现在您已经了解了如何在 MkSaaS 中开启验证码,您可能想要探索这些相关功能:

电子邮件

配置电子邮件服务

身份验证

设置用户身份验证

统计分析

配置统计分析服务

存储

配置存储服务

通知

学习如何在 MkSaaS 中设置和使用通知

聊天框

了解如何在 MkSaaS 中设置和使用聊天框

目录

设置
登录 Cloudflare
创建 Turnstile 小部件
配置小部件模式
设置环境变量
在配置中启用验证码
验证码系统架构
使用验证码
参考资料
视频教程
下一步