fetzi/kirby-uniform-recaptcha

Uniform插件的安全保护ReCAPTCHA

v1.0.0 2017-11-14 05:08 UTC

This package is auto-updated.

Last update: 2024-09-16 03:22:41 UTC


README

这是对Kirby 2插件Uniform(v3)的扩展,用于添加Google reCAPTCHA保护。

安装

Kirby CLI

获取Kirby CLI并运行kirby plugin:install fetzi/kirby-uniform-recaptcha

传统方式

下载存储库并将其解压缩到site/plugins/uniform-recaptcha

Composer

运行composer require fetzi/kirby-uniform-recaptcha。然后像这样将第二个require添加到index.php

// load kirby
require(__DIR__ . DS . 'kirby' . DS . 'bootstrap.php');
require 'vendor'.DS.'autoload.php';

确保在您的部署中包含新的vendor目录。

配置

定义必要的配置设置

  1. c::set('uniform-recaptcha-sitekey', 'YOUR RECAPTCHA SITEKEY');
  2. c::set('uniform-recaptcha-secret', 'YOUR RECAPTCHA SECRET');

用法

您可以在控制器表单定义中使用recaptchaGuard

$form = new Form(/* ... */);

if (r::is('POST')) {
    $form->recaptchaGuard()
        ->emailAction(/* ... */);
}

要将reCAPTCHA字段嵌入到模板中,只需调用<?php echo recaptcha_field(); ?>

该插件需要Google提供的reCAPTCHA JavaScript文件。您可以直接在页面上包含JavaScript文件,或者通过在模板中调用方法embed_recaptcha_js()来实现。

示例

<form action="<?php echo $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="<?php echo $form->old('name') ?>">

    <!-- ... -->

    <?php echo csrf_field() ?>
    <?php echo recaptcha_field() ?>
    <input type="submit" value="Submit">
</form>
<?php echo embed_recaptcha_js(); ?>

作者

Johannes Pichler https://johannespichler.com