tad86297/captcha

Laravel 的隐形 reCAPTCHA。

dev-main 2021-01-23 00:52 UTC

This package is not auto-updated.

Last update: 2024-09-29 16:16:10 UTC


README

php-badge packagist-badge travis-badge

注意

  • 此分支用于多表单目的。
  • 在大多数情况下,你的页面中应该只有一个验证码。通常你应该使用 master 分支。
  • 请不要在同一个页面中使用多个验证码以保护每个表单远离机器人,这会导致糟糕的用户体验。

安装

composer require albertcht/invisible-recaptcha:dev-multi-forms

使用示例

// you must include `jquery` beforehand
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

{!! Form::open(['url' => '/', 'id' => 'form1']) !!}
@captcha()
{!! Form::submit('Sumbit', ['id'=>'s1']) !!}
{!! Form::close() !!}

{!! Form::open(['url' => '/']) !!}
@captcha()
{!! Form::submit('Sumbit2', ['id'=>'s2']) !!}
{!! Form::close() !!}

在调用验证码之前,请手动包含 jquery.js。

直接在表单中调用验证码函数,它将渲染一个验证码,所有表单将共享相同的验证码验证。

<script type="text/javascript">
    $('#s2').on('captcha', function(e) {
        // set it to false if you don't want to submit your from directly
        _submitAction = false;
        // do other stuff
    });
</script>

在此分支中,您可以通过监听验证码事件来自定义提交行为。

示例仓库

仓库: https://github.com/albertcht/invisible-recaptcha-example/tree/multi-forms

此仓库展示了如何以 AJAX 方式使用此包。

差异

  • 此分支中没有 INVISIBLE_RECAPTCHA_DEBUG 配置。
  • 此包依赖于 jquery 而不是 pilyfill.js,在调用验证码之前,您必须自行包含 jquery

此分支仍在开发中,欢迎提交任何缺陷报告或建议。