talent-loom / laravel-recaptcha-v3
PHP 包,用于在 Laravel 中集成 reCAPTCHA v3
Requires
- php: ^8.2
- illuminate/support: ^11.0
Requires (Dev)
- laravel/pint: ^1.17
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.35
README
Laravel ReCAPTCHA V3 是一个非常简单的 Laravel 9.x | 10.x | 11.x 包,用于在您的应用程序中嵌入 Google reCAPTCHA。
什么是 reCAPTCHA?
Google 提供了 reCAPTCHA v3 和 reCAPTCHA Enterprise,以帮助您保护您的网站免受欺诈活动、垃圾邮件和滥用的侵害。有关 reCAPTCHA 和 reCAPTCHA Enterprise 功能的更多信息,请参阅reCAPTCHA 版本功能比较。
更多信息请参阅 Google reCAPTCHA 开发者指南
reCAPTCHA 可用版本
目前有 3 个版本可用(适用于 Web 应用程序)
- v3,最新版 (reCAPTCHA v3)
- v2 checkbox 或简单称为 reCAPTCHA v2 (reCAPTCHA v2)
- v2 invisible (不可见 reCAPTCHA)
首先获取您的密钥!
首先,您需要在这里创建自己的 API 密钥 这里
按照说明操作,在过程结束时,您将找到 站点密钥 和 密钥。请妥善保管它们,您很快就会需要它们!
系统要求
Composer
您可以通过 composer 安装此包
$ composer require talent-loom/laravel-recaptcha-v3
LARAVEL 9.x | 10.x 的配置
Laravel 9.x 或 10.x 在 config/app.php
中注册了提供者
'providers' => [ ... TalentLoom\RecaptchaV3\RecaptchaV3ServiceProvider::class, ];
您可以使用外观来缩短代码。将 ReCaptchaV3
添加到您的别名中
'aliases' => [ ... 'ReCaptchaV3' => TalentLoom\RecaptchaV3\Facades\RecaptchaV3::class, ];
LARAVEL 11.x 的配置
Laravel 11.x 在 bootstrap/providers.php
中注册了提供者
return [ App\Providers\AppServiceProvider::class, TalentLoom\RecaptchaV3\RecaptchaV3ServiceProvider::class, ];
您可以使用外观来缩短代码。将 ReCaptchaV3
添加到您的别名中 config/app.php
return [ .... 'aliases' => Facade::defaultAliases()->merge([ 'ReCaptchaV3' => TalentLoom\RecaptchaV3\Facades\RecaptchaV3::class, ])->toArray(), ];
发布包
使用以下 artisan 命令创建 config/recaptchaV3.php
配置文件
$ php artisan vendor:publish --provider="TalentLoom\RecaptchaV3\RecaptchaV3ServiceProvider"
环境变量
要运行此项目,您需要将以下环境变量添加到您的 .env 文件中
RECAPTCHA_V3_SITE_KEY
RECAPTCHA_V3_SECRET_KEY
重新加载配置缓存文件
!!! 重要 !!! 每次更改配置时,请运行以下 shell 命令
$ php artisan config:cache
实现
在请求中添加验证
use TalentLoom\RecaptchaV3\Rules\RecaptchaV3Rule; [ ... 'recaptcha_v3' => new RecaptchaV3Rule(), ];
在 Blade 中嵌入
在关闭 </head>
标签之前插入 js()
脚本。
您还可以使用 ReCaptchaV3::js()
。
<!DOCTYPE html> <html> <head> ... {!! ReCaptchaV3::js() !!} </head>
现在您可以使用 ReCaptchaV3::execute('action', 'form id')
。
例如
<form action="..." method="POST" id="loginForm"> @csrf .... </form>
{!! ReCaptchaV3::execute('login-action', 'loginForm') !!} </body> </html>
运行测试
要运行测试,请运行以下命令
./vendor/bin/pest
作者
支持
有关支持,请发邮件至 syedshazeedul@gmail。