scaffold-digital / laravel-recaptcha

Laravel 的 Google Recaptcha 模块

1.0.0 2018-07-31 15:29 UTC

This package is not auto-updated.

Last update: 2024-09-26 14:52:24 UTC


README

此模块是 Google reCAPTCHA 小部件的一个易于使用的实现。

入门指南

要使用此包,只需使用 Composer 安装。安装完成后,您需要指定您的站点密钥和密钥(来自 https://www.google.com/recaptcha/admin),然后按照几个简单的步骤将 reCAPTCHA 小部件添加到视图中并验证响应。

通过 Composer 安装

要安装此模块,只需在项目目录中运行以下命令...

composer require scaffold-digital/laravel-recaptcha

设置密钥

一旦您获取了您的站点密钥和密钥(来自 https://www.google.com/recaptcha/admin),您需要将它们指定在配置文件中。

基本配置

对于最基本的配置,创建文件 "config/recaptcha.php" 并粘贴以下内容,相应地更改密钥...

<?php
return [
    'key' => 'YOUR SITE KEY',
    'secret' => 'YOUR SECRET KEY',
];

高级配置

如果您想进一步扩展 Recaptcha 功能,可以轻松地通过发布完整的配置并相应地修改它来实现。运行以下命令将允许您将完整的配置发布到您的配置目录。

php artisan vendor:publish

显示 reCAPTCHA 小部件

要在视图中显示 reCAPTCHA 小部件,您需要包含额外的 JavaScript 代码和一个 DOM 元素。这两个都通过 Recaptcha 类提供。

JavaScript 代码

只需在 <head> 标签关闭之前添加 {!! Recaptcha::getScript(); !!}

<head>
...
{!! Recaptcha::getScript(); !!}
</head>

小部件

只需在您想显示小部件的位置添加 {!! Recaptcha::getWidget(); !!}。例如

<body>
...
<form method="POST">
<div class="form-group">{!! Recaptcha::getWidget(); !!}</div>
</form>
...
</body>

验证 reCAPTCHA 响应

您有两个简单的方法来验证 reCAPTCHA 响应。这可以在任何点手动完成,也可以作为 Laravel 内置表单验证的一部分自动完成。

自动表单验证

此包自动创建一个新的验证类型 'recaptcha',您可以使用它来验证表单响应。当表单提交时,reCAPTCHA 使用字段 'g-recaptcha-response' 提供响应。例如

$validator = Validator::make($request->all(), [
    'g-recaptcha-response' => 'recaptcha'
]);

手动验证

如果您出于任何原因想要手动验证 reCAPTCHA 响应,可以通过调用 verify 方法来完成。例如

$valid = Recaptcha::verify($request->input('g-recaptcha-response'));