leitsch/kirby-uniform-hcaptcha

Kirby 3 对 Uniform 插件进行 hCaptcha 防护的插件

2.0.0 2022-01-22 09:23 UTC

This package is auto-updated.

Last update: 2024-09-22 15:31:22 UTC


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(/* ... */);
}

致谢