osmaviation / recaptcha
此包已被弃用且不再维护。没有建议的替代包。
Laravel 5 的 reCAPTCHA 验证器
2.3.4
2020-09-25 10:38 UTC
Requires
- php: >=7.3
- illuminate/support: >=5.8
README
适用于 Laravel 5.8 及以上版本的 reCAPTCHA 验证器。
安装
通过 composer require osmaviation/recaptcha
安装此包
配置
如果您启用了自动发现,该包将自动注册。
- 如果您需要更改默认配置,可以使用
php artisan vendor:publish --provider="Greggilbert\Recaptcha\RecaptchaServiceProvider"
进行发布。 - 在您的
.env
文件中设置您的凭据。
RECAPTCHA_PUBLIC_KEY
为您的公钥。RECAPTCHA_PRIVATE_KEY
为您的私钥。- 如果您不是使用最新版本的 reCAPTCHA,请将
RECAPTCHA_VERSION
设置为 1。 - 如果您要升级到 reCAPTCHA 的 v2 版本,请注意,您的旧版本密钥将不再有效,您需要在新reCAPTCHA 管理员中生成一组新密钥。
- 该包包含默认的验证消息,但如果您想自定义它,请将以下行添加到
resources/lang/[lang]/validation.php
'recaptcha' => 'The :attribute field is not correct.',
用法
v2 (无验证码)
- 在您的表单中,使用
{!! Recaptcha::render() !!}
输出标记。 - 在您的验证规则中添加以下内容
$rules = [ // ... 'g-recaptcha-response' => 'required|recaptcha', ];
v1 (旧版)
- 在您的表单中,使用
{!! Recaptcha::render() !!}
输出标记。 - 在您的验证规则中添加以下内容
$rules = [ // ... 'recaptcha_response_field' => 'required|recaptcha', ];
建议在验证时也添加 required
。
自定义
reCAPTCHA v2 允许通过多个选项自定义小部件,具体请参阅官方文档。您可以通过六个允许的键来配置验证码的输出:theme
、type
、lang
、callback
、tabindex
和 expired-callback
。
在配置文件中,您可以创建一个 options
数组来设置默认行为。例如
// ... 'options' => [ 'lang' => 'ja', ],
将默认所有 reCAPTCHAs 的语言设置为日语。如果您想进一步自定义,可以通过渲染选项传递选项
echo Recaptcha::render([ 'lang' => 'fr' ]);
传递给 Recaptcha::render
的选项将始终覆盖配置。
语言
要更改验证码的语言,只需将语言作为选项的一部分传递即可
'options' => [ 'lang' => 'fr', ],
有关有效语言代码的列表,请参阅官方文档。
自定义模板
或者,如果您想设置一个默认模板而不是标准模板,可以使用配置
// ... 'template' => 'customCaptcha',
或者您可以通过“表单”选项传入它
echo Recaptcha::render([ 'template' => 'customCaptcha' ]);
v1自定义
关于v1自定义选项,请参阅旧版文档并相应应用。
限制
由于Google显示reCAPTCHA的方式,如果您通过AJAX调用加载表单,则此包将无法工作。如果需要这样做,您应该使用Google提供的替代方法之一。