trisnawan/captcha-gateway 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

trisnawan/captcha-gateway

最新稳定版本:1.0.0

Composer 安装命令:

composer require trisnawan/captcha-gateway

包简介

Captcha Gateway is a PHP library that provides integration to secure your website forms with CloudFlare Turnstile or Google ReCaptcha.

README 文档

README

Captcha Gateway is a PHP library that provides integration to secure your website forms with CloudFlare Turnstile or Google ReCaptcha.

To use CloudFlare Turnstile, please create a widget in CloudFlare Turnstile.

To use Google ReCaptcha, please create a Google Cloud Console project and then create ReCaptcha.

Instalation

composer require trisnawan/captcha-gateway

Initialization

use Trisnawan\CaptchaGateway\Captcha;

Hardcoded

$captcha = new Captcha("VENDOR", "PROJECT", "SITE_KEY", "SECRET_KEY");

Environment

captcha.vendor = VENDOR
captcha.widget = PROJECT
captcha.site.key = SITE_KEY
captcha.secret.key = SECRET_KEY
$captcha = new Captcha();

Note:

  • VENDOR, turnstile or recaptcha
  • PROJECT, ID Project Google ReCaptcha or Widget Name Cloudflare Turnstile
  • SITE_KEY, Site Key or Public Key
  • SECRET_KEY, Secret Key or API KEY

Form

// 1. load script
echo $captcha->client->script();

// 2. render
echo $captcha->client->render("ACTION", "INPUT_ID", "BUTTON_ID");

Note:

  • ACTION, action form, example: login, registration, chart, buy, etc.
  • INPUT_ID, input id captcha-token (optional)
  • BUTTON_ID, button submit id (optional)

Example:

<html>
<head>
    <?= $captcha->client->script() ?>
</head>
<body>
    <form method="post" action="login">
        <input type="text" name="username">
        <input type="text" name="password">
        <?= $captcha->client->render("login-action", "login-captcha", "login-button") ?>
        <button type="submit" id="login-button">Login</button>
    </form>
</body>
</html>

Validation

// 1. VERIFY - default
$validation = $captcha->server->verify("login-action");

// 1. VERIFY - manual token data
$token = $_POST['captcha-token'];
$validation = $captcha->server->verify("login-action", $token);

// 1. VERIFY - manual token data + IP verification
$ip = $_SERVER['HTTP_CLIENT_IP'] ?? $_SERVER['REMOTE_ADDR'] ?? null;
$token = $_POST['captcha-token'];
$validation = $captcha->server->verify("login-action", $token, $ip);

// 2. CHECK VALIDATION
if(!$validation->isSuccess){
    $messageError = $validation->errorMessage;
    $arrayErrors = $validation->errors;
    // show error
}

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-02