c10d/craft-recaptcha

将 reCAPTCHA v3 验证集成到您的表单中。

安装量: 7,350

依赖项: 0

建议者: 0

安全性: 0

星级: 2

关注者: 1

分支: 1

开放问题: 2

类型:craft-plugin

3.0.1 2024-04-01 20:02 UTC

This package is auto-updated.

Last update: 2024-08-31 00:26:50 UTC


README

将 reCAPTCHA 验证集成到您的表单中。

要求

此插件需要 Craft CMS 3.4 或更高版本。

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并转到您的 Craft 项目目录

     cd /path/to/project
    
  2. 然后告诉 Composer 加载插件

     composer require c10d/craft-recaptcha
    
  3. 在控制面板中,转到设置 → 插件,然后点击 craft-recaptcha 的“安装”按钮。

配置 craft-recaptcha

  1. 注册 reCAPTCHA API 密钥.
  2. 打开 Craft 管理员界面,转到设置 → 插件 → Craft reCAPTCHA → 设置。
  3. 添加您的 站点密钥密钥,然后保存。
  4. 将 reCAPTCHA 模板标签和 js 添加到您的表单中。

注意:您可以直接在设置中更改难度阈值!(默认值为 0.5)

使用 craft-recaptcha

在您的模板中,只需添加以下 twig 片段以渲染与 reCAPTCHA 绑定的表单提交按钮

{{ craft.recaptcha.renderSubmitButton('Send Request') }}

或者您可以直接将 reCAPTCHA 绑定到您自己的提交按钮

{{ craft.recaptcha.renderBindButton('my-submit-button-html-id') }}
<button id="my-submit-button-html-id" type="submit">Send<button>

您甚至可以自己创建一个区块,并且只获取站点密钥变量

<button class="g-recaptcha" data-sitekey="{{ craft.recaptcha.sitekey() }}"></button>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>

注意:完成此步骤后,如果您正在使用 CraftCMS 联系表单 插件,或者您正在使用 craft-recaptcha 验证公开用户注册,只需在插件设置中激活相应的切换,一切设置完毕!(提交时将自动验证 reCAPTCHA)

验证 reCAPTCHA

在服务器端,您可以使用此功能来验证是否已执行 reCAPTCHA

use c10d\craftrecaptcha\CraftRecaptcha;

// [ ... ]

$captcha = Craft::$app->getRequest()->getParam('g-recaptcha-response');
$isValid = CraftRecaptcha::$plugin->recaptcha->verify($captcha);
if (!$isValid) {
    // ERROR: you can push an error here
}

Cédric Givord 提供