petefox / recaptcha-laravel
此包已弃用,不再维护。未建议替代包。
用于在Laravel中添加和验证Recaptcha字段的简单包
1.0.0
2015-06-14 01:26 UTC
Requires
- google/recaptcha: ~1.1
- laravel/framework: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.1
This package is not auto-updated.
Last update: 2021-09-04 00:57:59 UTC
README
这是一个非常简单的库,使将最新的recaptcha机制集成到Laravel变得简单。
安装
只需使用composer,例如。
composer require peterfox/recaptcha-laravel
实现(Laravel 5.0/5.1)
首先在config文件夹中创建一个名为"recaptcha.php"的配置文件,包含
<?php return array( 'site_key' => env('RECAPTCHA_SITE_KEY', ''), 'secret' => env('RECAPTCHA_SECRET', ''), );
然后只需将正确的详细信息添加到项目中.env文件
RECAPTCHA_SITE_KEY=site key from recaptcha
RECAPTCHA_SECRET=your private secret from recaptcha
现在将服务提供者添加到config文件夹中的应用配置中
'providers' => [ ... 'RecaptchaLaravel\Provider\RecaptchaServiceProvider' ]
然后也将外观添加到应用配置中
aliases' => [ ... 'Recaptcha' => 'RecaptchaLaravel\Facade\RecaptchaFacade', ]
使用表单字段和验证器
使用的基本方法如下,在您的表单中(以下示例使用Blade,但应适用于原始PHP)只需简单使用外观
{!! Recaptcha::field() !!}
这将输出基本字段。
然后在您的表单验证器中简单地使用recaptcha验证器。以下是一个示例,展示了如何在请求对象中使用验证器。
class ExamleRequest extends Request { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $rules = [ 'content' => 'required', ]; if (!app()->environment('test')) { $rules['g-recaptcha-response'] = 'required|recaptcha'; } return $rules; } /** * Set custom messages for validator errors. * * @return array */ public function messages() { return [ 'g-recaptcha-response.required' => 'Please tick the check box next to "I\'m not a robot" to validate you\'re human', 'g-recaptcha-response.recaptcha' => 'Robot detected', ]; } }
在示例中,我使其在非“测试”环境中提供 g-recaptcha-response 字段,这是因为如果您正在使用像Behat这样的集成测试,那么如果启用了recaptcha验证并且同时Recaptcha检查机器人,测试将总是失败。在测试环境中使用此机制最多是问题。
测试
安装后,可以使用以下命令快速运行PHPSpec测试
vendor/phpspec/phpspec/bin/phpspec run
许可
由Peter Fox创建,并使用MIT开源许可证提供