Laravel ReCAPTCHA 整合指南

Laravel ReCAPTCHA 整合指南

laravel-recaptchaGoogle ReCaptcha package for Laravel项目地址:https://gitcode.com/gh_mirrors/la/laravel-recaptcha


1. 项目介绍

Laravel ReCAPTCHA 是一个专为 Laravel 5 及以上版本设计的轻量级包,旨在简化将 Google 的 reCAPTCHA 集成到您的 Laravel 应用中的过程。它提供了易于配置的方式,帮助您有效防御垃圾邮件和自动机器人提交表单,保障网站安全。

2. 项目快速启动

步骤一:安装

通过 Composer,在 Laravel 项目中添加此包:

composer require biscolab/laravel-recaptcha

之后,注册服务提供者和门面(如果需要)在 config/app.php 中:

// 服务提供者
'providers' => [
    // ...
    BiscollaLab\ReCaptcha\ReCaptchaServiceProvider::class,
],

// 门面别名(可选)
'aliases' => [
    // ...
    'ReCaptcha' => BiscollaLab\ReCaptcha\Facades\ReCaptcha::class,
],

步骤二:配置

.env 文件中添加 reCAPTCHA 的 Site Key 和 Secret Key:

RECAPTCHA_SITE_KEY=YOUR_SITE_KEY_HERE
RECAPTCHA_SECRET_KEY=YOUR_SECRET_KEY_HERE

然后在 config/services.php 文件中创建或更新 reCAPTCHA 配置:

'recaptcha' => [
    'site_key' => env('RECAPTCHA_SITE_KEY'),
    'secret' => env('RECAPTCHA_SECRET_KEY'),
],

步骤三:使用 reCAPTCHA

在视图文件中集成 reCAPTCHA 前端验证:

<!-- 在 form 标签内加入 -->
<div class="g-recaptcha" data-sitekey="{{ config('services.recaptcha.key') }}"></div>

<!-- 确保引入 reCAPTCHA 脚本 -->
<script async src="https://www.google.com/recaptcha/api.js"></script>

在控制器中验证用户输入:

use Illuminate\Validation\Rule;
use ReCaptcha\ReCaptcha;

public function store(Request $request)
{
    $validatedData = $request->validate([
        'g-recaptcha-response' => Rule::required()->regex('/^\\d+$/'), // 基础验证
    ]);

    $recaptcha = new ReCaptcha(env('RECAPTCHA_SECRET_KEY'));
    $response = $recaptcha->verify($request->input('g-recaptcha-response'), request()->ip());

    if (!$response->isSuccess()) {
        // 处理失败情况,例如抛出异常或返回错误消息
    }

    // 处理成功情况...
}

3. 应用案例和最佳实践

在实际应用中,如用户注册或联系我们表单,利用 Laravel 的验证规则结合 reCAPTCHA,确保只有通过验证的人类请求才能被处理。推荐将 reCAPTCHA 验证与其他逻辑相结合,比如 CSRF 保护,以构建全面的安全防线。

4. 典型生态项目

虽然这个部分通常会讨论与项目相关的其他开源组件或如何将该库融入更广泛的生态系统,但特别地,对于 Laravel ReCAPTCHA,其本身即是为 Laravel 生态定制的组件。没有特定的“典型生态项目”,而是作为 Laravel 开发者社区广泛用于增强web表单安全性的一个组成部分。


遵循上述步骤,您可以轻松地在 Laravel 项目中集成 Google reCAPTCHA,有效提高表单提交的安全性,避免非人类的自动提交行为。

laravel-recaptchaGoogle ReCaptcha package for Laravel项目地址:https://gitcode.com/gh_mirrors/la/laravel-recaptcha

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翟颢普Eddie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值