waavi / recaptcha
Google ReCaptcha for Laravel 5
1.0.5
2016-09-15 15:35 UTC
Requires
- illuminate/config: ^5.1
- illuminate/support: ^5.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- orchestra/testbench: 3.1.x|3.2.x
- phpunit/phpunit: ^4
README
简介
这是一个用于Laravel 5.1的reCAPTCHA验证器包。
WAAVI是一家位于西班牙马德里的网络开发工作室。您可以在waavi.com上了解更多关于我们的信息。
Laravel 兼容性
安装和设置
通过composer要求
composer require waavi/recaptcha 1.0.x
或者手动编辑您的composer.json文件
"require": {
"waavi/recaptcha": "1.0.x"
}
在config/app.php中,将以下条目添加到提供者数组的末尾
Waavi\ReCaptcha\ReCaptchaServiceProvider::class,
并添加以下别名
'ReCaptcha' => Waavi\ReCaptcha\Facades\ReCaptcha::class,
发布配置文件、表单视图和语言条目
php artisan vendor:publish --provider="Waavi\ReCaptcha\ReCaptchaServiceProvider"
在您的环境文件(推荐)或配置文件中输入Google提供的密钥和网站密钥
RECAPTCHA_SITE_KEY=site_key
RECAPTCHA_SECRET_KEY=secret_key
当reCAPTCHA验证失败时,会提供一个简单的英文错误消息。如果您希望自定义它,请在您的validation.php语言文件中添加以下条目
```php
'recaptcha' => 'Your error message here',
```
用法
在视图中渲染ReCaptcha表单
您可以通过调用在blade表单中渲染ReCaptcha小部件
{!! ReCaptcha::render() !!}
或包含提供的视图(如果选择这样做,则必须作为参数提供sitekey)
@include('recaptcha::recaptcha', ['siteKey' => config('recaptcha.keys.site')])
您还可以通过在官方文档中描述的可用选项来自定义小部件
{!! ReCaptcha::render(['theme' => 'dark']) !!}
or
@include('recaptcha::recaptcha', ['siteKey' => config('recaptcha.keys.site'), 'options' => ['theme' => 'dark']])
验证ReCaptcha
有两种方法可以验证ReCaptcha。您可以通过提供的Facade手动完成
```php
$value = \Input::get('g-recaptcha-response');
$gResponse = \ReCaptcha::parseInput($value);
if ($gResponse->isSuccess()) {
return true;
}
else {
$errors = $gResponse->getErrorMessages(); // Returns an array of error messages in the form of errorCode => errorMessage
var_dump($errors);
}
```
或者通过提供的Validator扩展以更方便的方式完成,将以下规则添加到您的规则数组中
```php
$rules = [
/** Your rules ... **/
'g-recaptcha-response' => 'recaptcha',
];
```