spaanproductions / invisible-recaptcha
Laravel 的隐形 reCAPTCHA。
v2.0.4
2024-06-19 11:00 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^10.0|^11.0
- illuminate/view: ^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0
README
为什么选择隐形 reCAPTCHA?
隐形 reCAPTCHA 是 reCAPTCHA v2(无验证码)的改进版本。在 reCAPTCHA v2 中,用户需要点击“我不是机器人”按钮来证明他们是人类。在隐形 reCAPTCHA 中,不会嵌入验证码框供用户点击。它完全不可见!只在页面底部显示徽章,提示用户您的网站正在使用这项技术。(徽章可以隐藏,但不是建议隐藏。)
注意
- 主分支不支持多验证码功能。(通常在尝试在一个页面上放置多个验证码时,你会错误地使用 recaptcha。)
安装
composer require spaanproductions/invisible-recaptcha
Laravel 10
设置
它具有自动发现提供者的功能。无需手动添加。
配置
在您设置配置之前,请记住在申请密钥时选择 隐形 reCAPTCHA
。
将 INVISIBLE_RECAPTCHA_SITEKEY
、INVISIBLE_RECAPTCHA_SECRETKEY
添加到 .env 文件。
// required
INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}
// optional
INVISIBLE_RECAPTCHA_BADGEHIDE=true
INVISIBLE_RECAPTCHA_DATABADGE="bottomright"
INVISIBLE_RECAPTCHA_TIMEOUT=5
INVISIBLE_RECAPTCHA_DEBUG=false
您可以选择三种不同的验证码样式:
bottomright
、bottomleft
、inline
。
如果将
INVISIBLE_RECAPTCHA_BADGEHIDE
设置为 false,您可以显示徽章标志。
通过将
INVISIBLE_RECAPTCHA_DEBUG
设置为 true,您可以在浏览器控制台中查看这些验证码元素的绑定状态。
用法
在渲染验证码之前,请记住以下注意事项
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')
验证
将 'g-recaptcha-response' => 'required|captcha'
添加到规则数组。
$validate = Validator::make(Input::all(), [ 'g-recaptcha-response' => 'required|captcha' ]);
鸣谢
- anhskohbo(无验证码包的作者)
- albertcht(laravel invisible-recaptcha 包的原始作者 https://github.com/albertcht/invisible-recaptcha)
- 贡献者