leitsch / kirby-uniform-hcaptcha
Kirby 3 对 Uniform 插件进行 hCaptcha 防护的插件
2.0.0
2022-01-22 09:23 UTC
Requires
- php: ^8.0
- getkirby/composer-installer: ^1.1
- mzur/kirby-uniform: ^5.0
README
这是一个 Kirby 3 插件,它实现了 hCaptcha 防护,用于 Uniform 插件。
安装
Composer
将插件添加到您的项目中
composer require leitsch/kirby-uniform-hcaptcha
配置
在您的 config.php
文件中设置配置
return [ 'leitsch.uniform-hcaptcha.siteKey' => 'my-site-key', 'leitsch.uniform-hcaptcha.secretKey' => 'my-secret-key', ];
使用方法
模板
您可以使用提供的辅助函数将 hCaptcha 嵌入到模板中
<?= hcaptchaField() ?>
为了使 hCaptcha 正常工作,您需要提供 hCaptcha JavaScript 文件。
在模板中使用辅助函数 hcaptchaScript()
。
示例
<form action="<?= $page->url() ?>" method="post"> <label for="name" class="required">Name</label> <input<?php if ($form->error('name')): ?> class="erroneous"<?php endif; ?> name="name" type="text" value="<?= $form->old('name') ?>"> <!-- ... --> <?= csrf_field() ?> <?= hcaptchaField() ?> <input type="submit" value="Submit"> </form> <?= hcaptchaScript() ?>
控制器
在您的控制器中,您可以使用 魔术方法 hcaptchaGuard()
启用 hCaptcha 防护
$form = new Form(/* ... */); if ($kirby->request()->is('POST')) { $form->hcaptchaGuard() ->emailAction(/* ... */); }
致谢
- 感谢 Lukas Dürrenberger 提供的 Uniform reCAPTCHA 防护插件