ماژول WHMCS رایگان و متنباز که جایگزین کپچای گوگل با Cloudflare Turnstile میشود. یک جایگزین کاربر محور.
- سازگاری کامل: با قالبهای پیشفرض (Six، Twenty-One) و همه قالبهای سفارشی سازگار است.
- داشبورد مدیریت: مدیریت و شخصی سازی ویجت مستقیماً در داشبورد WHMCS.
- کنترل صفحه: فعال و غیرفعالسازی ویجت برای:
- صفحه ورود
- صفحه ثبت نام
- بازنشانی رمز عبور
- تماس با ما
- ارسال تیکت پشتیبانی
- سبد خرید
- پرداخت
- بررسی دامنه
- شخصی سازی تم ویجت: انتخاب بین تم خودکار، روشن یا تاریک.
- انتخابگرهای پیشرفته: تعریف انتخابگرهای CSS سفارشی برای تزریق ویجت به هر فرمی در هر قالبی بدون ویرایش فایلهای قالب.
- محدودسازی درخواست ها برای جلوگیری از تعداد زیاد تلاشهای ناموفق از یک آدرس آی پی
- لیست سیاه و سفید آی پی جهت دسترسی به صفحه بدون کپچا و قطع دسترسی کامل
- پشتیبانی از متغییرهای های Smarty: از
{display_turnstile}در فایلهای .tpl خود برای قرار دادن دستی استفاده کنید.
- آخرین نسخه را در این صفحه دانلود کنید
- نام پوشه را از
cloudgate-x.x.xبهcloudgateتغییر دهید. - پوشه cloudgate را در محل نصب WHMCS خود در آدرس
/modules/addons/آپلود کنید: - وارد داشبورد ادمین WHMCS خود شوید.
- به پیکربندی > افزونهها بروید. کلودگیت را پیدا کنید و روی فعالسازی کلیک کنید.
تنظیمات کلی
| کلید | مقدار پیشفرض | گزینهها |
|---|---|---|
site_key |
خالی | * |
secret_key |
خالی | * |
theme |
auto |
auto · light · dark |
size |
normal |
normal · compact |
فعالسازی صفحات
| صفحه | کلید فعالسازی | حالت پیشفرض |
|---|---|---|
| ورود | enable_login |
غیرفعال |
| ثبتنام | enable_register |
غیرفعال |
| بازنشانی رمز | enable_pwreset |
غیرفعال |
| ارتباط | enable_contact |
غیرفعال |
| تیکت | enable_ticket |
غیرفعال |
| سبد خرید | enable_cart |
غیرفعال |
| بررسی دامنه | enable_domain |
غیرفعال |
تنظیمات
| صفحه | کلید | مقدار پیشفرض | گزینهها |
|---|---|---|---|
| ورود | mode_login |
managed |
managed · non-interactive · invisible |
| ثبتنام | mode_register |
managed |
managed · non-interactive · invisible |
| بازنشانی رمز | mode_pwreset |
managed |
managed · non-interactive · invisible |
| ارتباط | mode_contact |
managed |
managed · non-interactive · invisible |
| تیکت | mode_ticket |
managed |
managed · non-interactive · invisible |
| سبد خرید | mode_cart |
managed |
managed · non-interactive · invisible |
| بررسی دامنه | mode_domain |
managed |
managed · non-interactive · invisible |
انتخابگرهای سفارشی
| صفحه | کلید |
|---|---|
| ورود | custom_login_sel |
| ثبتنام | custom_register_sel |
| بازنشانی رمز | custom_pwreset_sel |
| ارتباط | custom_contact_sel |
| تیکت | custom_ticket_sel |
| سبد خرید | custom_cart_sel |
| بررسی دامنه | custom_domain_sel |
محدودیت درخواست
| کلید | مقدار پیشفرض | توضیح |
|---|---|---|
rate_limit_enabled |
غیرفعال | فعالسازی محدودیت درخواست |
rate_limit_max |
5 |
حداکثر تلاش ناموفق مجاز |
rate_limit_window |
5 |
بازه زمانی شمارش (دقیقه) |
لیست IP
| کلید | مقدار پیشفرض | توضیح |
|---|---|---|
ip_whitelist |
خالی | آی پی معاف از کپچا |
ip_blacklist |
خالی | آی پی مسدود شده (قطع دسترسی کامل) |
برای جلوگیری از تداخل، کپچای پیشفرض WHMCS را غیرفعال کنید:
- به پیکربندی > تنظیمات عمومی > امنیت بروید.
- محافظ فرم ها با کپچا را روی همیشه غیرفعال تنظیم کنید.
توجه: این ماژول به طور خودکار سعی میکند عناصر کد امنیتی قدیمی را از طریق CSS پنهان کند، اما غیرفعال کردن آنها در تنظیمات توصیه میشود.
یک کلید API در بخش تنظیمات بسازید و از آن برای بررسی وضعیت سیستم استفاده کنید.
وضعیت کلی:
GET ?module=cloudgate&action=api&key=YOUR_KEY&type=status
پاسخ: تعداد کل خطاها، خطاهای 24 ساعت اخیر، برترین آی پی ها و صفحات
لاگها:
GET ?module=cloudgate&action=api&key=YOUR_KEY&type=logs&page=login&limit=10
پارامترها: page (login/register/pwreset/contact/ticket/cart/domain)، ip، limit، offset
بررسی IP:
GET ?module=cloudgate&action=api&key=YOUR_KEY&type=ip_check&ip=1.2.3.4
پاسخ: تعداد خطاها، وضعیت rate limit، whitelist و blacklist
ویجت را به صورت دستی در فایلهای قالب خود قرار دهید.
ساده:
<form method="post" action="login.php">
{display_turnstile}
<button type="submit">Login</button>
</form>با پارامترها:
{* تشخیص خودکار صفحه از قالب *}
{display_turnstile}
{* انتخاب صفحه به صورت دستی *}
{display_turnstile page="login"}
{* سفارشی کردن کامل *}
{display_turnstile page="login" theme="dark" size="compact" mode="invisible"}
{* ذخیره در متغیر برای قرار دادن در جای دلخواه *}
{display_turnstile assign="captchaHtml"}
{$captchaHtml nofilter}پارامترها:
| پارامتر | توضیح | مقدار پیشفرض |
|---|---|---|
page |
نوع صفحه (login/register/pwreset/contact/ticket/cart/domain) | تشخیص خودکار از قالب |
theme |
تم ویجت (auto/light/dark) | از تنظیمات |
mode |
حالت نمایش (managed/non-interactive/invisible) | از تنظیمات صفحه |
size |
اندازه ویجت (normal/compact) | از تنظیمات |
assign |
نام متغیر برای ذخیره خروجی به جای نمایش مستقیم | — |
پشتیبانی از صفحات:
| صفحه | صفحه تشخیص داده شده |
|---|---|
login |
login |
clientregister |
register |
password-reset / pwreset |
pwreset |
contact |
contact |
supportticketsubmit-* |
ticket |
domainchecker / domainregister |
domain |
| صفحات checkout / cart | cart |
- تشخیص خودکار صفحه از نام صفحه
- تنظیم
data-appearanceوdata-executionبر اساس حالت (invisible/managed) - نمایش پیام خطا هنگام
?error=captchaدر آدرس - پشتیبانی از callback برای پر کردن خودکار توکن
- ذخیره در متغیر با
{display_turnstile assign="varName"} - در حالت non-interactive به صورت خودکار از compact استفاده میکند
طراحی و توسعه: achave
این پروژه متنباز است و تحت لایسنس MIT در دسترس قرار دارد.
جهت حمایت استار دهی فراموش نشه.