mlk9/captcha-laravel

Laravel 9+ 使用的图像验证码

v3.1.1 2023-12-25 05:55 UTC

This package is auto-updated.

Last update: 2024-09-13 09:09:35 UTC


README

Laravel 的图像验证码

  • 支持会话
  • 生成您自定义的图像

波斯语 V2 文档: https://vrgl.ir/WQXCT

安装

您可以通过 composer 安装此软件包

composer require mlk9/captcha-laravel

然后发布供应商

php artisan vendor:publish --tag=captcha-laravel

文档

配置

  • 类型 (数组,[字符,数学])
  • 背景 (数组)
  • 字符 (字符串)
  • 长度 (整数)
  • 字体 (字符串|数组)
  • 颜色 (数组)
  • 宽度 (整数)
  • 高度 (整数)
  • 类型哈希 ([laravel,sha256,md5])

生成简单的验证码

您可以使用组件

<x-captcha-box /> 
<x-captcha-box-refresh />  //via refresh

或创建自定义,例如这样

<div>
    <div>
        <div>
             <!-- Captcha generate -->
            <img src="{{ \Mlk9\Captcha\Facades\Captcha::generate()->image }}" alt="captha"> 
        </div>
  <div>
   <div>{{ __('captcha.captcha') }}</div>
   <input id="captcha" name="captcha" type="text" required autocomplete="off">
  </div>
 </div>
</div>

验证

您可以在验证中使用 captcha 规则

Illuminate\Support\Facades\Validator::validate($request->all(),
    ["captchaField"=>"captcha"]
);

此外

您还可以将中间件 captcha 添加到您的路由或控制器中

第三种方法是使用 isValid(string: entry)\Mlk9\Captcha\Facades\Captcha::class,例如

if(!\Mlk9\Captcha\Facades\Captcha::isValid($request->captcha))
{
    return back()->withErrors('Wrong Captcha');
}

注意 V2

如果您遇到字体错误,可以在配置中替换为 'font' => public_path('vendor/captcha/fonts/tahoma.ttf'),