guiliredu/laravel-simple-recaptcha

简单的 Google reCAPTCHA v2 验证和 blade 指令

v0.0.0.1 2019-07-23 17:51 UTC

This package is auto-updated.

Last update: 2024-09-24 06:26:35 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

此包提供了一个简单的 reCAPTCHA v2 验证和 blade 指令,用于与 Laravel 应用程序一起使用。

了解更多关于 reCAPTCHA 的信息:https://developers.google.com/recaptcha/intro

安装

您可以通过 composer 安装此包

composer require guiliredu/laravel-simple-recaptcha

用法

配置

安装包后,使用以下命令发布配置文件

php artisan vendor:publish --provider=Guiliredu\LaravelSimpleRecaptcha\RecaptchaServiceProvider

这将在一个 config 文件夹中放置一个 recaptcha.php 文件。现在您可以使用 reCAPTCHA 参数配置 .env 文件

RECAPTCHA_KEY=...
RECAPTCHA_SECRET=...

Blade 输入和按钮

您可以使用 blade 文件在表单中包含和渲染 recaptcha。目前,此包有两种渲染 recaptcha 的方式

复选框

这将向用户渲染经典的“我不是机器人”复选框供点击。

@include('recaptcha::input')

您可以将一个选项数组作为包含指令的第二个参数传递

@include('recaptcha::input', ['size' => 'normal', 'theme' => 'light', 'tabindex' => 0, 'callback' => 'callback'])

按钮

这将渲染一个带有隐藏 reCAPTCHA 检查的按钮 - 您需要使用回调 js 函数提交表单。

@include('recaptcha::button', ['callback' => 'jsFunctionToCall'])

后端验证

要验证 reCAPTCHA,您可以使用我们自定义的请求规则

class StoreController extends Controller 
{
    public function store(Request $request)
    {
        $this->validate($request,
            ['g-recaptcha-response' => 'recaptcha'],
            ['recaptcha' => trans('recaptcha::validation.invalid')]
        );
    }
}

我们提供了一些辅助方法来运行简单的验证

use Guiliredu\LaravelSimpleRecaptcha\Recaptcha;
...

dd(Recaptcha::isRequestValid($request)); // true|false
dd(Recaptcha::isValid($request->input('g-recaptcha-response'))); // true|false

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近有哪些更改。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果您发现任何与安全相关的问题,请在该仓库的问题跟踪器中打开一个问题。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。

Laravel 包模板

此包是用 Laravel 包模板 生成的。