PHPackages                             huelse/geetest - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. huelse/geetest

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

huelse/geetest
==============

Geetest For ThinkPHP5.1

1.0.1(7y ago)65171[1 PRs](https://github.com/Huelse/geetest/pulls)MITPHP

Since Feb 15Pushed 6y ago1 watchersCompare

[ Source](https://github.com/Huelse/geetest)[ Packagist](https://packagist.org/packages/huelse/geetest)[ RSS](/packages/huelse-geetest/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

极验Geetest
---------

[](#极验geetest)

ThinkPHP5.1可用的极验扩展

[案例教程](https://uioi.cn/archives/51)

样例
--

[](#样例)

[滑动demo](https://pan.oini.cf/geetest-demo.html)

[更多案例](https://www.geetest.com/demo/)

安装
--

[](#安装)

> composer require huelse/geetest

使用
--

[](#使用)

### 参数配置

[](#参数配置)

在配置文件config里配置geetest配置，需要到官网申请

```
//key配置
//路径 config/config.php
'geetest'=> [
       'captcha_id' =>'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
       'private_key'=>'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    ],

```

### 模板里的调用

[](#模板里的调用)

```

CSS样式参照demo.html的style样式48-144行

      行为验证™ 安全组件加载中

$(document).ready(function () {
    var handler = function (captchaObj) {
        captchaObj.appendTo('#captcha');
        captchaObj.onReady(function () {
            $("#wait").hide();
        });
        $("#submit").click(function () {
            var result = captchaObj.getValidate();
            if (!result) {
                alert('请完成验证');
            } else {
                $.ajax({
                    type: 'POST',
                    url: '/', // 自定义接收url
                    dataType: 'json',
                    data: {
                        userId: $('#inputUserid').val(),
                        userPwd: $('#inputPassword').val(),
                        geetest_challenge: result.geetest_challenge,
                        geetest_validate: result.geetest_validate,
                        geetest_seccode: result.geetest_seccode
                    },
                    success: function (data) {
                        if (data) {
                            alert('登陆成功');
                            // 成功后的自定义操作
                        }
                    },
                    error: function (data) {
                        alert('登陆失败');
                        // console.log(JSON.stringify(data));
                        // 失败后的自定义操作
                    },
                });
            }
        });
        window.gt = captchaObj;
    };
    $.ajax({
        url: "geetest.html?t=" + (new Date()).getTime(), // 加随机数防止缓存
        type: "get",
        dataType: "json",
        success: function (data) {
            // console.log(data);
            $('#text').hide();
            $('#wait').show();
            initGeetest({
                gt: data.gt,
                challenge: data.challenge,
                new_captcha: data.new_captcha,
                product: "float", // 产品形式，包括：float，embed，popup 等。注意只对PC版验证码有效
                offline: !data.success, // 表示用户后台检测极验服务器是否宕机，一般不需要关注
            }, handler);
        }
    });
});

```

### 控制器里验证

[](#控制器里验证)

```
$data = Request::param(); //传入请求数据
if(!geetest_check($data)){
    //验证失败
    return json()->data(false)->code(403);
}

```

### 更多

[](#更多)

如有问题,请及时[issue](https://github.com/Huelse/geetest/issues)或者发送邮件

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2640d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/beea440f57c7e5f6a9ec52ca45c638551893f8ce4f443e75282b03c4857c738d?d=identicon)[huelse](/maintainers/huelse)

---

Top Contributors

[![Huelse](https://avatars.githubusercontent.com/u/37256164?v=4)](https://github.com/Huelse "Huelse (7 commits)")

### Embed Badge

![Health badge](/badges/huelse-geetest/health.svg)

```
[![Health](https://phpackages.com/badges/huelse-geetest/health.svg)](https://phpackages.com/packages/huelse-geetest)
```

###  Alternatives

[vishnubob/wait-for-it

Pure bash script to test and wait on the availability of a TCP host and port

9.8k157.6k3](/packages/vishnubob-wait-for-it)[nodejs-php-fallback/nodejs-php-fallback

Allow you to call node.js module or scripts throught PHP and call a fallback function if node.js is not available

17454.7k8](/packages/nodejs-php-fallback-nodejs-php-fallback)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
