nisicreative/laravel-recaptcha
为您的Laravel项目提供一个简单的reCAPTCHA实现。
1.0.8
2023-07-18 15:36 UTC
Requires
- php: ^5.6 || ^7.0 || ^8.0
- guzzlehttp/guzzle: ^6.2 || ^7.0
- illuminate/support: ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0
README
轻松将Google的reCAPTCHA集成到您的Laravel 5+项目中。
安装
composer require nissicreative/laravel-recaptcha
设置
将服务提供者添加到app/config/app.php中的providers数组中。
(如果您使用Laravel 5.5+,可以跳过此步骤,因为它将使用Laravel的自动发现功能。)
Nissi\ReCaptcha\ReCaptchaServiceProvider::class,
配置
访问https://google.com/recaptcha并注册您的站点。请确保列出您将使用该小部件的所有域名,包括任何本地或测试域名(例如
localhost
或mysite.test
)。您将被分配一个站点密钥和一个密钥。)
将这些reCAPTCHA密钥添加到您的.env文件中
RECAPTCHA_KEY=my-site-key RECAPTCHA_SECRET=my-secret-key
这是默认的配置文件
<?php return [ 'key' => env('RECAPTCHA_KEY'), 'secret' => env('RECAPTCHA_SECRET'), 'script_url' => 'https://www.google.com/recaptcha/api.js', 'verify_url' => 'https://www.google.com/recaptcha/api/siteverify', 'error_message' => 'reCAPTCHA validation failed. Please try again.', 'log_responses' => false, ];
如果您想修改配置文件和/或视图,可以运行
php artisan vendor:publish
用法:表单页面
在您页面的<head>
部分中,添加此行以包含远程Google JavaScript文件
@include('recaptcha::script')
然后,在您的表单中插入小部件
@include('recaptcha::widget')
就这样!您现在应该在刷新页面时看到reCAPTCHA小部件。
验证请求
验证很简单:只需在验证器中添加一个recaptcha
规则。例如,在一个控制器中
$this->validate($request, [ 'g-recaptcha-response' => 'required|recaptcha', // Other rules... ], [ // Custom messages 'g-recaptcha-response.required' => 'Please complete the reCAPTCHA.', ]);
recaptcha
规则会负责通过Guzzle将输入发送到Google的服务器,并在验证成功时返回true
。
就这样!
享受您减少垃圾邮件的生活方式。