smkbd / recaptcha-checkbox
Google reCAPTCHA v2 复选框
v1.0.0
2023-12-12 15:56 UTC
Requires
- ext-curl: *
- laravel/framework: ^10.0
README
此软件包允许您轻松地将Google reCAPTCHA v2复选框集成到任何表单中。
版本支持
安装
composer require smkbd/recaptcha-checkbox
配置
在您的.env
文件中添加以下环境变量
RECAPTCHA_SITE_KEY=recaptcha_site_key_here
RECAPTCHA_SECRET_KEY=recaptcha_secret_key_here
您可以从Google reCAPTCHA管理员获取这些密钥
用法
要在表单中启用reCAPTCHA,您需要在两个地方进行更改,一个是在<form>
中,另一个是在处理表单请求的控制器方法中。
表单
在您希望复选框显示的地方包含blade指令@recaptcha
。
控制器
在控制器中,您只需将\Smkbd\RecaptchaCheckbox\RecaptchaRequest $request
用作方法参数,而不是使用\Illuminate\Http\Client\Request $request
。
例如,在routes/web.php
Route::post('/comments', [\App\Http\Controllers\CommentController::class, 'store'])->name('comments.store');
在app/Http/Controllers/CommentController.php
use Smkbd\RecaptchaCheckbox\RecaptchaRequest;
class CommentController extends Controller{
...
public function store(RecaptchaRequest $request){
// Your logic here
}
...
}
您可以在控制器内部应用自己的验证,就像通常做的那样。但是,如果请求包含有效的验证码履行,则RecaptchaRequest
将首先验证请求。
翻译
要翻译验证码的消息,您需要首先发布供应商文件。
php artisan vendor:publish --tag=recaptcha
这将在resources/lang/vendor/recaptcha
目录中发布翻译文件。