无形 reCAPTCHA 集成 Laravel
发布于 作者: Albert Chen
无形 reCAPTCHA 是由 Google 开发的 reCAPTCHA v2(无验证码) 的改进版本,用户现在只需要点击“我不是机器人”按钮来证明自己是人类。
在 无形 reCAPTCHA 中,不再有嵌入的验证码框供用户交互。它完全是 不可见的,页面底部只显示一个徽章,让访问您网站的用户知道您正在使用这项技术。(徽章可以隐藏,但不建议这样做。)
以下是一个使用 无形 reCAPTCHA 的示例。
我创建了一个 简单包 来帮助您快速轻松地将 无形 reCAPTCHA 集成到您的 Laravel 项目中!
无形 reCAPTCHA 安装
composer require albertcht/invisible-recaptcha
接下来,将 ServiceProvider 添加到 app/config/app.php
中的 providers 数组。
AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,
配置
在设置配置之前,您需要先在 https://www.google.com/recaptcha/admin 上申请您的 API 密钥。
在选择 reCAPTCHA 类型时,请务必选择 无形 reCAPTCHA
,以便它在后台运行。
注册新网站后,获取您的密钥并将其添加到您的 .env 文件中
INVISIBLE_RECAPTCHA_SITEKEY={siteKey}INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}INVISIBLE_RECAPTCHA_BADGEHIDE=falseINVISIBLE_RECAPTCHA_DEBUG=false
如果将
INVISIBLE_RECAPTCHA_BADGEHIDE
设置为 true,则可以隐藏徽章徽标。您可以通过将
INVISIBLE_RECAPTCHA_DEBUG
设置为 true 在浏览器控制台中查看这些 CAPTCHA 元素的绑定状态。
reCAPTCHA 用法
在您的视图中显示 reCAPTCHA
{!! app('captcha')->render(); !!}
支持自定义语言
{!! app('captcha')->render($lang = null); !!}
验证
将 'g-recaptcha-response' => 'required|captcha'
添加到 rules 数组。
<br></br>$validate = Validator::make(Input::all(), [ 'g-recaptcha-response' => 'required|captcha']);
查看 invisible-recaptcha 包以获取文档和代码。
您好,我是 Albert Chen,一位软件架构师、Laravel 工匠和 Swoole 爱好者,现居台湾。