Search by

shielda / captcha-php

mojtabaghasemi

Official PHP SDK for Shielda Captcha (کتابخانه رسمی PHP برای شیلدا کپچا)

dev-main 2026-10-13 08:22 UTC

This package is auto-updated.

Last update: 2026-10-13 08:30:47 UTC


README

Latest Version on Packagist Software License

کتابخانه رسمی و مستقل PHP برای اعتبارسنجی چالش‌های امنیتی سامانه شیلدا (Shielda). این پکیج فاقد هرگونه وابستگی به فریم‌ورک‌های سنگین است و در هر پروژه و فریم‌ورک PHP (مانند Symfony، CodeIgniter، Slim یا کدهای PHP خام) قابل استفاده است.

📦 نصب با Composer

composer require shielda/captcha-php

🚀 نحوه استفاده

۱. نمایش کپچا در فرم HTML

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Shielda\Shielda;

$siteKey = 'your_site_key_here';
$secretKey = 'your_secret_key_here';

$shielda = new Shielda($siteKey, $secretKey);
?>

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>ورود به سایت</title>
    <!-- لود اسکریپت شیلدا -->
    <?= $shielda->getScriptTag(); ?>
</head>
<body>
    <form method="POST" action="login.php">
        <input type="text" name="username" placeholder="نام کاربری" required>
        <input type="password" name="password" placeholder="کلمه عبور" required>

        <!-- نمایش باکس کپچا -->
        <?= $shielda->getWidgetTag(); ?>

        <button type="submit">ورود</button>
    </form>
</body>
</html>

۲. اعتبارسنجی در سرور (سمت Backend)

<?php
require_once __DIR__ . '/vendor/autoload.php';

use Shielda\Shielda;

$shielda = new Shielda('YOUR_SITE_KEY', 'YOUR_SECRET_KEY');

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // روش اول: اعتبارسنجی خودکار از $_POST
    if ($shielda->verify()) {
        echo "کپچا با موفقیت تایید شد! کاربر مجاز است.";
    } else {
        echo "خطا در تایید کپچا: " . $shielda->getLastError();
    }

    // یا روش دوم: ارسال دستی توکن
    $token = $_POST['darban-captcha-response'] ?? '';
    $details = $shielda->verifyWithDetails($token);
    /*
    خروجی نمونه $details:
    [
        'success' => true,
        'challenge_ts' => '2026-10-13T10:00:00Z',
        'hostname' => 'yourdomain.com'
    ]
    */
}

📄 لایسنس

MIT License - https://shielda.ir