adiachenko / laravel-recaptcha
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ^6.0
- illuminate/support: ^5.1
This package is auto-updated.
Last update: 2019-01-25 18:28:52 UTC
README
reCAPTCHA 是一个免费服务,可保护您的网站免受垃圾邮件和滥用。它使用先进的风险评估技术来区分人类和机器人。
这个包有什么不同之处?
- 对前端采用零干预的方法。没有晦涩的渲染助手,只有准备好可以直接使用的模板,您可以按需自定义或丢弃。
- 功能可以通过在您的
.env
文件中注释掉相应的凭证来全局禁用。因此,它不会干扰浏览器测试设施或您的一般开发工作流程。
支持 v2 和隐形 reCAPTCHA。
安装
要开始使用,请通过 Composer 软件包管理器安装 LaravelRecaptcha
composer require adiachenko/laravel-recaptcha
在配置文件 config/app.php
的 providers
数组中注册 LaravelRecaptcha 服务提供者
Adiachenko\LaravelRecaptcha\RecaptchaServiceProvider::class,
在 config/services.php
文件中配置您的 reCAPTCHA 凭据
'recaptcha' => [
'key' => env('RECAPTCHA_SITE_KEY'),
'secret' => env('RECAPTCHA_SECRET_KEY'),
],
接下来,将它们添加到您的 .env
文件中。按照 此链接 创建您自己的凭证。
如果任何凭证为空或未设置,即使所有其他模板都到位,reCAPTCHA 也会全局禁用。太棒了!
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=
将以下验证规则添加到您将要保护的 reCAPTCHA 表单中
'g-recaptcha-response' => 'recaptcha',
建议省略 required 验证规则,因为您可能只想在生产环境中保护您的表单,并跳过开发(测试)环境。
要发布预构建的视图部分,请使用 Artisan 命令 vendor:publish
。默认标记假定使用 Bootstrap 4,但很容易进行自定义。
php artisan vendor:publish --tag=laravel-recaptcha
最后,如果尚未这样做,请将 命名堆栈 @stack('scripts')
添加到您的布局中(任何位置都可以,但请确保它在使用受保护的表单之前渲染)并将部分包含到您选择的表单中
脚本标签没有在表单本身中定义,这样您就不会在使用 JavaScript 框架时意外遇到问题(实际上,这是 Vue.js 的情况)。
reCAPTCHA v2
@include('vendor.recaptcha.v2')
隐形 reCAPTCHA
@include('vendor.recaptcha.invisible', [
'selector' => '#forgot-password',
'text' => 'Send Password Reset Link',
'class' => 'btn btn-outline-primary'
])
隐形 reCAPTCHA 通过动态连接到您的表单提交按钮,而不是打印单独的小部件,因此我们需要提供一些额外的数据来渲染实际的按钮。在这种情况下,selector
是您受保护表单的查询选择器。