fetzi / kirby-uniform-recaptcha
Uniform插件的安全保护ReCAPTCHA
v1.0.0
2017-11-14 05:08 UTC
Requires
- mzur/kirby-uniform: ^3.0
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
目录。
配置
定义必要的配置设置
c::set('uniform-recaptcha-sitekey', 'YOUR RECAPTCHA SITEKEY');
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