cradlephp / cradle-captcha
为 Cradle 提供的 Google Captcha 处理器
2.3.0
2020-06-20 10:10 UTC
Requires
- cradlephp/framework: ~2.3.0
Requires (Dev)
- php-coveralls/php-coveralls: ~2.1.0
- phpunit/phpunit: 7.0.2
- squizlabs/php_codesniffer: 3.2.3
README
Google Captcha 辅助工具
安装
composer require cradlephp/cradle-captcha
然后在 /bootstrap.php
文件中添加以下内容:
->register('cradlephp/cradle-captcha')
设置
访问 https://www.google.com/recaptcha/ 并注册一个令牌和密钥。
打开 /config/services.php
文件并添加以下内容:
'captcha-main' => array(
'token' => '<Google Token>',
'secret' => '<Google Secret>'
),
使用方法
在任一路由中添加以下代码。
cradle()->trigger('captcha-load', $request, $response);
CSRF 令牌可以在 $request->getStage('captcha')
中找到。在您的表单模板中,确保添加如下隐藏字段:
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha" data-sitekey="{{captcha}}"></div>
在路由中验证此表单时,可以使用以下代码:
cradle()->trigger('captcha-validate', $request, $response);
如果存在错误,它将在响应错误对象的消息中找到。您可以使用以下代码进行验证。
if($response->isError()) {
$message = $response->getMessage();
//report the error
}