承接 maatify/captcha-all-in-one 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

maatify/captcha-all-in-one

最新稳定版本:5.0.1

Composer 安装命令:

composer require maatify/captcha-all-in-one

包简介

Unofficial Cloudflare Turnstile, Google Captcha V3, Google Captcha V2 And HCaptcha for PHP it's library for maatify.dev handler, known by our team

README 文档

README

Current version Packagist PHP Version Support Monthly Downloads Total Downloads Stars

Installation

composer require maatify/captcha-all-in-one

Env File Should Contain

TURNSTILE_STATUS=1
TURNSTILE_SITE_KEY='turnstile_site_key'
TURNSTILE_SECRET_KEY='turnstile_secret_key'
TURNSTILE_TRIES=4

GOOGLE_RECAPTCHA_V3_STATUS=1
GOOGLE_RECAPTCHA_V3_SITE_KEY='google_recpatcha_v3_site_key'
GOOGLE_RECAPTCHA_V3_SECRET_KEY='google_recaptcha_v3_secret_key'
GOOGLE_RECAPTCHA_V3_TRIES=6

GOOGLE_RECAPTCHA_V2_STATUS=1
GOOGLE_RECAPTCHA_V2_SITE_KEY='google_recpatcha_v2_site_key'
GOOGLE_RECAPTCHA_V2_SECRET_KEY='google_recaptcha_v2_secret_key'
GOOGLE_RECAPTCHA_V2_TRIES=8

HCAPTCHA_STATUS=1
HCAPTCHA_SITE_KEY='hcaptcha_site_key'
HCAPTCHA_SECRET_KEY='hcaptcha_secret_key'
HCAPTCHA_TRIES=10

SESSION_TIMEOUT_CAPTCHA='60' ## IN MINUTES

Usage

<?php
/**
 * Created by Maatify.dev
 * User: Maatify.dev
 * Date: 2024-08-10
 * Time: 12:17 AM
 * https://www.Maatify.dev
 */
 
use Maatify\CaptchaV1\CaptchaManager;

require 'vendor/autoload.php';

try {
    $captcha = CaptchaManager::getInstance();
    
    // ===== get config in array format to use in HTML code
    $config = $captcha->getCaptchaConfig();
    
    // ===== get result in array format
    $result = $captcha->getResponse();
    
    // ====== get bool of validation 
    $result = $captcha->isSuccess();
    
    // ====== using maatify json on error response with json code with die and if success there is no error
    $captcha->jsonErrors();

} catch (Exception $e) {

    echo $e->getMessage();
    
}

jsonErrors();

Error Example

Header 400

Body:

  • on validation error
  {
       "success": false,
       "response": 40002,
       "var": "captcha",
       "description": {
           "success": false,
           "error-codes": [
               "missing-input-response"
           ],
           "messages": [],
           "next_captcha": "turnstile"
       },
       "more_info": "missing-input-response",
       "error_details": "test:159"
   }

Create From in HTML Code

if(!empty($config['type'])){
    switch ($config['type']) {
        case 'turnstile':
            ?>
            <form action="test.php" method="POST">
                <input name="test" value="test">
                <!-- Your other form fields -->
                <div class="cf-turnstile" data-sitekey="<?= $config['site_key'] ?>" data-theme="dark" data-language="ar"></div>
                <input type="submit" value="Submit">
            </form>
    
            <script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
            <?php
            break;
    
        case 'google_v2':
            ?>
                <form method="POST">
             Your other form fields
                    <div class="g-recaptcha" data-sitekey="<?= $config['site_key'] ?>" data-theme="dark" ></div>
                    <input type="submit" value="Submit">
                </form>
    
                <script src="https://www.google.com/recaptcha/api.js?hl=ar" async defer ></script>
            <?php
            break;
    
        case 'google_v3':
            ?>
            <script src="https://www.google.com/recaptcha/api.js?hl=ar"></script>
    
            <script>
                function onSubmit(token) {
                    document.getElementById("demo-form").submit();
                }
            </script>
    
    
            <form method="POST" id="demo-form">
                <input name="test" value="test">
                <button class="g-recaptcha"
                        data-sitekey="<?= $config['site_key'] ?>"
                        data-callback='onSubmit'
                        data-action='submit'>Submit</button>
    
            </form>
            <?php
            break;
    
        case 'hcaptcha':
            ?>
            <form method="POST">
                <!-- Your other form fields -->
                <div class="h-captcha" data-sitekey="<?= $config['site_key'] ?>" data-theme="dark" data-hl="ar"></div>
                <input type="submit" value="Submit">
            </form>
    
            <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
            <?php
            break;
    }
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: proprietary
  • 更新时间: 2024-08-09