daltcore/invisible-recaptcha

此包已被废弃且不再维护。未建议替代包。

为 Laravel 提供的无形 reCAPTCHA。

v3.0.2 2021-01-21 13:54 UTC

README

php-badge packagist-badge Total Downloads travis-badge

invisible_recaptcha_demo

为什么选择无形 reCAPTCHA?

无形 reCAPTCHA 是 reCAPTCHA v2(无 captcha)的改进版本。在 reCAPTCHA v2 中,用户需要点击按钮:“我不是机器人”来证明他们是人类。在无形 reCAPTCHA 中,不会嵌入 captcha 框供用户点击。它是完全不可见的!只有徽章会在页面底部显示,提示用户您的网站正在使用这项技术。(徽章可以隐藏,但不建议隐藏。)

注意

  • 主分支不支持多 captcha 功能,如果您需要,请使用 multi-forms 分支。(大多数情况下,您在单个页面上放置多个 captcha 时,是在误用 recaptcha。

安装

composer require albertcht/invisible-recaptcha

Laravel 5

设置

将 ServiceProvider 添加到 app/config/app.php 文件中的 providers 数组中。

AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,

它还支持 Laravel 5.5 的包发现。

配置

在设置您的配置之前,请记住在申请密钥时选择 无形 reCAPTCHAinvisible_recaptcha_setting

INVISIBLE_RECAPTCHA_SITEKEYINVISIBLE_RECAPTCHA_SECRETKEY 添加到 .env 文件中。

// required
INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}

// optional
INVISIBLE_RECAPTCHA_BADGEHIDE=false
INVISIBLE_RECAPTCHA_DATABADGE='bottomright'
INVISIBLE_RECAPTCHA_TIMEOUT=5
INVISIBLE_RECAPTCHA_DEBUG=false

您可以选择三种不同的 captcha 风格进行设置:bottomrightbottomleftinline

如果将 INVISIBLE_RECAPTCHA_BADGEHIDE 设置为 true,则可以隐藏徽章标志。

您可以通过将 INVISIBLE_RECAPTCHA_DEBUG 设置为 true 来在浏览器控制台查看这些 captcha 元素的绑定状态。

使用方法

在渲染 captcha 之前,请记住以下注意事项

  • render()renderHTML() 函数必须在表单元素内调用。
  • 您必须确保您的提交按钮的 type 属性必须是 submit
  • 您的表单中只能有一个提交按钮。
在您的视图中显示 reCAPTCHA
{!! app('captcha')->render() !!}

// or you can use this in blade
@captcha

支持自定义语言

{!! app('captcha')->render('en') !!}

// or you can use this in blade
@captcha('en')
与 VueJS 等 JavaScript 框架一起使用

render() 过程包括三个独立的部分,可以在使用像 VueJS 这样的框架时单独渲染,该框架在模板中包含 <script> 标签时会抛出控制台错误。

您可以在以下位置渲染 polyfill(例如,在您的 HTML 的头部):

{!! app('captcha')->renderPolyfill() !!}
// Or with blade directive:
@captchaPolyfill

您可以使用以下内容渲染 HTML,这需要放在您的 `

` 标签内部:

{!! app('captcha')->renderCaptchaHTML() !!}
// Or with blade directive:
@captchaHTML

您可以使用以下方式渲染必要的 `