No CAPTCHA reCAPTCHA for Laravel 使用教程
no-captchaNo CAPTCHA reCAPTCHA For Laravel.项目地址:https://gitcode.com/gh_mirrors/no/no-captcha
项目介绍
No CAPTCHA reCAPTCHA for Laravel 是一个用于集成 Google reCAPTCHA 到 Laravel 应用中的开源项目。该项目简化了在 Laravel 应用中添加和验证 reCAPTCHA 的过程,提供了易于使用的接口和配置选项。
项目快速启动
安装
首先,通过 Composer 安装包:
composer require anhskohbo/no-captcha
配置
发布配置文件:
php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"
在 .env
文件中添加 reCAPTCHA 的密钥:
NOCAPTCHA_SECRET=your-secret-key
NOCAPTCHA_SITEKEY=your-site-key
使用
在视图中引入 reCAPTCHA 的 JavaScript 源:
{!! NoCaptcha::renderJs() !!}
显示 reCAPTCHA 小部件:
{!! NoCaptcha::display() !!}
验证
在控制器中验证 reCAPTCHA 响应:
use Anhskohbo\NoCaptcha\Facades\NoCaptcha;
public function submitForm(Request $request)
{
$response = NoCaptcha::verifyResponse($request->input('g-recaptcha-response'));
if (!$response) {
return back()->withErrors(['captcha' => '验证失败']);
}
// 继续处理表单数据
}
应用案例和最佳实践
案例一:用户注册表单
在用户注册表单中添加 reCAPTCHA 以防止机器人注册:
<form action="/register" method="POST">
@csrf
<div>
<label for="name">姓名</label>
<input type="text" name="name" id="name">
</div>
<div>
<label for="email">邮箱</label>
<input type="email" name="email" id="email">
</div>
<div>
<label for="password">密码</label>
<input type="password" name="password" id="password">
</div>
<div>
{!! NoCaptcha::display() !!}
</div>
<button type="submit">注册</button>
</form>
最佳实践
- 安全性:确保 reCAPTCHA 密钥的安全,不要在客户端代码中暴露密钥。
- 用户体验:在表单中合理放置 reCAPTCHA,避免影响用户体验。
- 测试:在测试环境中模拟 reCAPTCHA 响应,确保表单验证逻辑正确。
典型生态项目
No CAPTCHA reCAPTCHA for Laravel 可以与其他 Laravel 生态项目结合使用,例如:
- Laravel Socialite:在社交登录功能中使用 reCAPTCHA 防止滥用。
- Laravel Horizon:在后台任务调度中使用 reCAPTCHA 防止机器人攻击。
- Laravel Nova:在管理面板中使用 reCAPTCHA 提高安全性。
通过这些生态项目的结合,可以进一步提升 Laravel 应用的安全性和用户体验。
no-captchaNo CAPTCHA reCAPTCHA For Laravel.项目地址:https://gitcode.com/gh_mirrors/no/no-captcha