c10d / craft-recaptcha
将 reCAPTCHA v3 验证集成到您的表单中。
3.0.1
2024-04-01 20:02 UTC
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0
README
将 reCAPTCHA 验证集成到您的表单中。
要求
此插件需要 Craft CMS 3.4 或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目目录
cd /path/to/project
-
然后告诉 Composer 加载插件
composer require c10d/craft-recaptcha
-
在控制面板中,转到设置 → 插件,然后点击 craft-recaptcha 的“安装”按钮。
配置 craft-recaptcha
- 注册 reCAPTCHA API 密钥.
- 打开 Craft 管理员界面,转到设置 → 插件 → Craft reCAPTCHA → 设置。
- 添加您的
站点密钥
和密钥
,然后保存。 - 将 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 提供