PHPackages                             7kxtqsyhnyspko6n/auth-captcha - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. 7kxtqsyhnyspko6n/auth-captcha

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

7kxtqsyhnyspko6n/auth-captcha
=============================

Sliding captcha for Laravel-Admin auth, Multiple platform support / Laravel-Admin登录 滑动验证插件 多平台支持

1.0.1(5mo ago)03MITPHPPHP ^8.0.2|^8.1|^8.2|^8.3|^8.4

Since Dec 13Pushed 5mo agoCompare

[ Source](https://github.com/7kXTQsyhnySpko6n/auth-captcha)[ Packagist](https://packagist.org/packages/7kxtqsyhnyspko6n/auth-captcha)[ Docs](https://github.com/asundust/auth-captcha)[ RSS](/packages/7kxtqsyhnyspko6n-auth-captcha/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

Laravel-Admin登录 滑动验证插件 多平台支持
============================

[](#laravel-admin登录-滑动验证插件-多平台支持)

> 另有 [Dcat-Admin版](https://github.com/asundust/dcat-auth-captcha)

[![StyleCI build status](https://camo.githubusercontent.com/5b2118c8cd781283570fe44cb2d6458993f593a4a083cfd765ffda0896bd63df/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3139333636353430342f736869656c64)](https://camo.githubusercontent.com/5b2118c8cd781283570fe44cb2d6458993f593a4a083cfd765ffda0896bd63df/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3139333636353430342f736869656c64)[![Total Downloads](https://camo.githubusercontent.com/7b1f00a98fcbf4071bd2cb3a06e9eba3655b16cb7c4b79b9cf8a413d9a0ee74b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6173756e647573742f617574682d63617074636861)](https://packagist.org/packages/asundust/auth-captcha)[![Latest Stable Version](https://camo.githubusercontent.com/a95aa3ce623bbb62f6434a09544d5b3d25d780ecba1d47aa69d24134680a2fc9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6173756e647573742f617574682d63617074636861)](https://packagist.org/packages/asundust/auth-captcha)

### Demo演示

[](#demo演示)

[演示站点](https://captcha.leeay.com)

### 支持(按照字母顺序)

[](#支持按照字母顺序)

- [顶象](https://www.dingxiang-inc.com/business/captcha)✔️
- [极验](http://www.geetest.com)✔️
- [hCaptcha(和谷歌Recaptcha v2一样)](https://www.hcaptcha.com)✔️（**免费，速度一般**）
- [Recaptcha v2(谷歌)](https://developers.google.com/recaptcha)✔️（**国内可用，完全免费**）
- [Recaptcha v3(谷歌)](https://developers.google.com/recaptcha)✔️（**国内可用，完全免费**）
- [数美(暂不支持网页)](https://www.ishumei.com/product/bs-post-register.html)
- [腾讯防水墙](https://cloud.tencent.com/document/product/1110/36839)✔️
- [同盾](https://x.tongdun.cn/product/captcha)
- [V5验证](https://www.verify5.com/index)✔️（**免费版日限100次**）
- [Vaptcha](https://www.vaptcha.com)✔️（**不完全免费，不过该验证码使用难度相对较高**）
- [网易](http://dun.163.com/product/captcha)✔️
- [云片](https://www.yunpian.com/product/captcha)✔️
- 有主流的未发现的、额外有需求的请[issue](https://github.com/asundust/auth-captcha/issues)

> 受限制于有些验证码密钥是收费版，目前代码不能做到完全兼容 如果有好心人士提供密码 我将严格保密 仅用于开发工作

### 截图

[](#截图)

[![img](https://user-images.githubusercontent.com/6573979/94363320-123b0000-00b1-11eb-9357-4dfdcf88960b.gif)](https://user-images.githubusercontent.com/6573979/94363320-123b0000-00b1-11eb-9357-4dfdcf88960b.gif)

### 安装

[](#安装)

```
composer require asundust/auth-captcha

```

### 获取密钥

[](#获取密钥)

#### 顶象

[](#顶象)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'dingxiang',
    'style' => 'popup', // 弹出式: popup 嵌入式: embed 内联式: inline 触发式: oneclick (不填写默认popup)
    'appid' => '{AppID}',
    'secret' => '{AppSecret}',
    'ext_config' => [],
],

```

- 访问
- [官网文档配置DEMO](https://cdn.dingxiang-inc.com/ctu-group/captcha-ui/demo)
- [官网文档地址](https://www.dingxiang-inc.com/docs/detail/captcha)

#### 极验

[](#极验)

- **需要发布配置文件**，命令如下

```
 php artisan vendor:publish --provider="Asundust\AuthCaptcha\AuthCaptchaServiceProvider"

```

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'geetest',
    'style' => 'bind', // 隐藏式: bind 弹出式: popup 浮动式: float 自定区域浮动式(与popup类似，由于登录页面无需自定区域，故效果和popup一样的): custom (不填写默认bind)
    'appid' => '{ID}',
    'secret' => '{KEY}',
    'ext_config' => [],
],

```

- 访问
- [官网文档地址](http://docs.geetest.com/sensebot/deploy/server/php)

#### hCaptcha

[](#hcaptcha)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'hcaptcha',
    'style' => 'invisible', // 隐藏式: invisible 复选框: display (不填写默认invisible)
    'appid' => '{sitekey}',
    'secret' => '{secret}',
],

```

- 访问
- [官网文档地址(前端)显示](https://docs.hcaptcha.com/configuration)
- [官网文档地址(前端)隐藏](https://docs.hcaptcha.com/invisible)
- [官网文档地址(后端)](https://docs.hcaptcha.com)

#### Recaptcha v2(谷歌)

[](#recaptcha-v2谷歌)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'recaptchav2',
    'style' => 'invisible', // 隐藏式: invisible 复选框: display (不填写默认invisible)
    'appid' => '{site_key}',
    'secret' => '{secret}',
    // 'domain' => 'https://www.google.com', // 服务域名，可选，无此选项默认为 https://recaptcha.net
],

```

- 访问  选择v2版
- 管理面板
- [官网文档地址(前端)显示](https://developers.google.com/recaptcha/docs/display)
- [官网文档地址(前端)隐藏](https://developers.google.com/recaptcha/docs/invisible)
- [官网文档地址(后端)](https://developers.google.com/recaptcha/docs/verify/)

#### Recaptcha v3(谷歌)

[](#recaptcha-v3谷歌)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'recaptcha',
    'appid' => '{site_key}',
    'secret' => '{secret}',
    // 'domain' => 'https://www.google.com', // 服务域名，可选，无此选项默认为 https://recaptcha.net
    // 'score' => '0.5', // 可信任分数，可选，无此选项默认为 0.7
],

```

- 访问  选择v3版
- 管理面板
- [官网文档地址(前端)](https://developers.google.com/recaptcha/docs/v3)
- [官网文档地址(后端)](https://developers.google.com/recaptcha/docs/verify/)

#### 腾讯防水墙

[](#腾讯防水墙)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'tencent',
    'appid' => '{AppID}',
    'secret' => '{AppSecretKey}',
],

```

- 新用户购买
- 新用户[官方使用文档地址](https://cloud.tencent.com/document/product/1110/36839)
- 老用户[官方使用文档地址](https://007.qq.com/captcha/#/gettingStart)
- [关于腾讯防水墙收费的声明(新用户终身免费5万次)](https://007.qq.com/help.html?ADTAG=index.head)

#### V5验证

[](#v5验证)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'verify5',
    'appid' => '{APP ID}',
    'secret' => '{APP Key}',
    'host' => '{Host}',
],

```

- 访问
- 访问 [官方使用文档地址](https://www.verify5.com/doc/reference)

#### Vaptcha

[](#vaptcha)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'vaptcha',
    'style' => 'invisible', // 隐藏式: invisible 点击式: click 嵌入式: embed (不填写默认invisible)
    'appid' => '{VID}',
    'secret' => '{Key}',
    'ext_config' => [],
],

```

- 访问
- 访问 [官方使用文档地址](https://www.vaptcha.com/document/install)

#### 网易易盾

[](#网易易盾)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'wangyi',
    'style' => '', // 注意后台申请的类型！！！ 常规弹出式: popup 常规嵌入式: embed 常规触发式: float 无感绑定按钮：bind 无感点击式: ''(留空，奇葩设定) (不填写默认popup)
    'appid' => '{captchaId}',
    'secret' => '{secretId}',
    'secret_key' => '{secretKey}', // 这里多了一个额外参数，请注意！！！
    'ext_config' => [],
],

```

- 访问
- 访问 [官方使用文档地址](http://support.dun.163.com/documents/15588062143475712?docId=150401879704260608)

#### 云片

[](#云片)

- 配置代码如下

```
'auth-captcha' => [
    'enable' => true,
    'provider' => 'yunpian',
    'style' => '', // flat: 直接嵌入 float: 浮动 dialog: 对话框 external: 外置滑动(拖动滑块时才浮现验证图片，仅适用于滑动拼图验证) (不填写默认dialog) PS：flat和external貌似存在回调bug，不推荐使用
    'appid' => '{APPID}',
    'secret' => '{Secret Id}',
    'secret_key' => '{Secret Key}', // 这里多了一个额外参数，请注意！！！
    'ext_config' => [],
],

```

- 访问
- 访问 [官方使用文档地址](https://www.yunpian.com/official/document/sms/zh_CN/captcha/captcha_service)

### 配置

[](#配置)

- 在`config/admin.php` 文件里加入上述配置好的文件。

```
'extensions' => [
    'auth-captcha' => [
        // ...
    ],
]

```

- 亦可添加ENV配置

```
'enable' => env('AUTH_CAPTCHA_ENABLE'),
'appid' => env('AUTH_CAPTCHA_APPID'),
'secret' => env('AUTH_CAPTCHA_SECRET'),
// 'secret_key' => env('AUTH_CAPTCHA_SECRET_KEY'), // 部分需要此第三个参数！！！
// 'host' => env('AUTH_CAPTCHA_HOST'), // 部分需要此第三个参数！！！
// 'domain' => env('AUTH_CAPTCHA_DOMAIN'), // 部分需要此第三个参数！！！
// 'score' => env('AUTH_CAPTCHA_SCORE'), // 部分需要此第三个参数！！！
// 'timeout' => env('AUTH_CAPTCHA_TIMEOUT'), // 如果部分出现超时500可以修改此参数，默认5
// 'login_try_throttle' => env('AUTH_CAPTCHA_LOGIN_TRY_THROTTLE'), // 登录频率限制，默认空，参数规则参考Laravel自带的
// 'xxxxxx' => env('AUTH_CAPTCHA_XXXXXX'), // demo

```

- 在`.env`文件下加入

```
AUTH_CAPTCHA_ENABLE=true
AUTH_CAPTCHA_APPID=xxxxxx
AUTH_CAPTCHA_SECRET=xxxxxx
#AUTH_CAPTCHA_SECRET_KEY=xxxxxx
#AUTH_CAPTCHA_HOST=xxxxxx
#AUTH_CAPTCHA_DOMAIN=xxxxxx
#AUTH_CAPTCHA_SCORE=xxxxxx
#AUTH_CAPTCHA_TIMEOUT=xxxxxx
#AUTH_CAPTCHA_LOGIN_TRY_THROTTLE=xxxxxx
#AUTH_CAPTCHA_XXXXXX=xxxxxx

```

- 在`resources/lang/zh-CN(example).json` 文件里加入如下配置。

```
"Sliding validation failed. Please try again.": "滑动验证未通过，请重试。",
"Please complete the validation.": "请完成验证。",
"Config Error.": "配置错误。"
"Too Many Attempts.": "尝试次数太多。"

```

- 额外配置说明，参考顶象的一个配置

```
'ext_config' => [
    'customLanguage' => [
        'init_inform' => '拖动一下',
        'slide_inform' => '向右向右',
    ],
],

```

### 使用

[](#使用)

在浏览器里打开Laravel-Admin登录页

### 重写登录页

[](#重写登录页)

- 在`auth-captcha`增加一个`controller`配置项，并填写`App\Admin\Controllers\AuthController::class`，代码如下

```
'extensions' => [
    'auth-captcha' => [
        // ...
        'controller' => App\Admin\Controllers\AuthController::class
    ],
]

```

- 在`App\Admin\Controllers`下新建`AuthController`控制器，代码如下

```
