Skip to content

Latest commit

 

History

History
78 lines (52 loc) · 2.19 KB

README.md

File metadata and controls

78 lines (52 loc) · 2.19 KB

Uniform Cloudflare Turnstile Guard

A Kirby 3 plugin implementing a Cloudflare Turnstile guard for the Uniform plugin.

Installation

Composer

Add the plugin to your project:

composer require anselmh/kirby-uniform-turnstile

Manual install

It is possible to install plugins manually. Download from the Github Releases page, unpack the archive and put it into site/plugins. Please note that this project depends on Uniform so it is required to install this package as well.

Configuration

Set the configuration in your config.php file:

return [
  'anselmh.uniform-turnstile.siteKey' => 'my-site-key',
  'anselmh.uniform-turnstile.secretKey' => 'my-secret-key',
];

Usage

Template

You can use the provided helper function to embed the Turnstile into your template:

<?= turnstileField() ?>

In order for turnstile to work, you need to provide the Turnstile JavaScript file.

Use the helper function turnstileScript() in your template or add it to the template at right before the closing </body> tag.

Example

<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() ?>
    <?= turnstileField() ?>
    <input type="submit" value="Submit">
</form>
<?= turnstileScript() ?>

Controller

In your controller you can use the magic method turnstileGuard() to enable the turnstile guard:

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

if ($kirby->request()->is('POST'))
{
    $form->turnstileGuard()
         ->emailAction(/* ... */);
}

Credits