مستندات کپچاپرس

کپچاپرس

راهنمای کامل کاربری — کپچای ایرانی و حافظِ فرم ها و حریم خصوصی برای وردپرس

کپچاپرس یک کپچای ایرانی و حافظِ فرم ها و حریم خصوصی برای وردپرس است. این افزونه به‌طور کامل روی سرور خودِ شما اجرا می‌شود (بدون هیچ ارتباطی با گوگل یا سرویس‌های شخص ثالث)، چهار سبک چالش تعاملی ارائه می‌دهد و فرم‌های شما را با توکن‌های یک‌بارمصرفِ سمت سرور، تحلیل مسیر حرکت ماوس، فیلد هانی‌پات و محدودیت نرخ بر اساس IP محافظت می‌کند.
ندارد
نیاز به API خارجی
۴ سبک
سبک چالش
ندارد
جدول DB اضافه

۱. پیش‌نیازها

پیش از نصب کپچاپرس، مطمئن شوید سایت شما این شرایط را دارد:

نیازمندی حداقل
وردپرس نسخه‌ی ۵.۰ یا جدیدتر
PHP نسخه‌ی ۷.۴ یا جدیدتر
مرورگر (بازدیدکنندگان) هر مرورگر مدرن با جاوااسکریپت فعال
💡هیچ سرویس بیرونی یا کلید API لازم نیست. برخلاف ری‌کپچای گوگل، شما به Site Key یا Secret Key نیاز ندارید. همه‌چیز از روی هاست خودتان سرو می‌شود. همچنین هیچ جدول اضافه‌ای در دیتابیس ساخته نمی‌شود.

۲. نصب افزونه

کپچاپرس به‌صورت یک فایل captchapress.zip به شما تحویل داده می‌شود. با هر روشی که با هاست شما سازگار است آن را نصب کنید.

روش الف — پیشخوان وردپرس

ساده‌ترین روش که روی اکثر هاست‌ها کار می‌کند.

  1. وارد پیشخوان وردپرس شوید (https://your-site.com/wp-admin).
  2. به افزونه‌ها ← افزودن افزونه بروید.
  3. روی دکمه‌ی بارگذاری افزونه در بالای صفحه کلیک کنید. بارگذاری افزونه
  4. روی انتخاب فایل یا Browse... کلیک کرده، سپس فایل captchapress.zip را که در پوشه plugin از فایل خریداری شده قرار دارد، انتخاب کرده و سپس هم‌اکنون نصب کن را بزنید. بارگذاری در وردپرس
  5. پس از اتمام بارگذاری، روی فعال‌سازی افزونه کلیک کنید.
⚠️اگر حین نصب خطایی مانند «حجم فایل بارگذاری‌شده از مقدار upload_max_filesize بیشتر است» دیدید، از روش ب یا پ استفاده کنید.

روش ب — سی‌پنل (مدیریت فایل)

زمانی که هاست شما cPanel دارد (رایج در هاست‌های اشتراکی).

  1. وارد سی‌پنل شوید (معمولاً https://your-site.com:2083).
  2. بخش Files ← File Manager را باز کنید. بارگذاری در سی پنل
  3. به محل نصب وردپرس و سپس به public_html/wp-content/plugins/ بروید. روی گزینه Upload کلیک کنید. دکمه آپلود سی پنل
  4. در صفحه ای که باز شده است روی Select File کلیک کرده و فایل captchapress.zip را که در پوشه plugin فایل خریداری شده قرار دارد، بارگذاری کنید. دکمه آپلود سی پنل
  5. به File Manager بازگردید، روی captchapress.zip راست‌کلیک کرده و Extract را بزنید. اکسترکت در سی پنل
  6. پس از استخراج باید پوشه‌ی wp-content/plugins/captchapress/ را داشته باشید.
  7. به وردپرس ← افزونه‌ها بروید و روی فعال‌سازی کلیک کنید. فعال کردن پلاگین

روش پ — دایرکت‌ادمین (مدیریت فایل)

زمانی که هاست شما DirectAdmin دارد.

  1. وارد دایرکت‌ادمین شوید (معمولاً https://your-site.com:2222).
  2. بخش File Manager را باز کنید. دایرکت ادمین
  3. به wp-content/plugins/ بروید.
  4. روی Upload کلیک کرده و captchapress.zip را انتخاب کنید.
  5. فایل بارگذاری‌شده را انتخاب کرده و با گزینه‌ی Extract آن را همان‌جا استخراج کنید.
  6. مطمئن شوید پوشه‌ی wp-content/plugins/captchapress/ را دارید.
  7. به وردپرس ← افزونه‌ها بروید و روی فعال‌سازی کلیک کنید. فعال کردن پلاگین
💡هر سه روش به یک نقطه می‌رسند: افزونه‌ی استخراج‌شده باید در مسیر wp-content/plugins/captchapress/ قرار گیرد و سپس از صفحه‌ی افزونه‌ها آن را فعال کنید.

۳. فعال‌سازی افزونه

  1. به افزونه‌ها ← افزونه‌های نصب‌شده بروید.
  2. کپچاپرس را پیدا کرده و روی فعال‌سازی کلیک کنید.

تشخیص خودکار یکپارچه‌سازی‌ها

وقتی کپچاپرس را برای نخستین بار فعال می‌کنید، بررسی می‌کند چه افزونه‌های فرمی روی سایت شما فعال هستند و یکپارچه‌سازی‌های متناظر را به‌طور خودکار روشن می‌کند:

اگر این مورد هنگام فعال‌سازی فعال باشد… …کپچاپرس به‌طور خودکار روشن می‌کند
گرویتی فرمز محافظت گرویتی فرمز
کانتکت فرم ۷ محافظت کانتکت فرم ۷
دیجیتس محافظت دیجیتس (ورود با کد یک‌بارمصرف)
ووکامرس ورود، ثبت‌نام و بازیابی گذرواژه حساب کاربری
⚠️فرم ورود اصلی وردپرس عمداً به‌طور خودکار روشن نمی‌شود. پیکربندی نادرست در آنجا می‌تواند شما را پشت در نگه دارد. هر زمان خواستید می‌توانید آن را دستی روشن کنید.

۴. نگاهی کلی به صفحه‌ی تنظیمات

به تنظیمات ← کپچاپرس بروید. این صفحه به پنج زبانه (تب) تقسیم شده است:

تب چه چیزی را کنترل می‌کند
عمومی سبک پیش‌فرض کپچا، طول عمر توکن، سخت‌گیری مسیر حرکت، محدودیت نرخ بارگذاری مجدد
ظاهر فونت وب، آیکن ربات، حالت روشن/تیره
یکپارچه‌سازی‌ها اینکه کدام افزونه‌ها/فرم‌ها محافظت شوند
کد کوتاه راهنمای کد کوتاه [captchapress]
راهنما شروع سریع، توضیح سبک‌ها و مدل امنیتی
💡پس از هر ویرایش، در پایین هر زبانه روی ذخیره‌ی تغییرات کلیک کنید. زبانه‌های عمومی، ظاهر و یکپارچه‌سازی‌ها هرکدام مستقل ذخیره می‌شوند.

۵. افزودن کپچا به افزونه‌های دیگر

تمام یکپارچه‌سازی‌ها از یک مکان مدیریت می‌شوند: تنظیمات ← کپچاپرس ← یکپارچه‌سازی‌ها. هر ردیف یک کلید روشن/خاموش ساده است.

افزونه‌های فرم خارجی

کلید چه چیزی را محافظت می‌کند
گرویتی فرمز تمام فرم‌های گرویتی فرمز. کپچا درست بالای دکمه‌ی ارسال افزوده می‌شود.
کانتکت فرم ۷ تمام فرم‌های CF7. کپچا پیش از دکمه‌ی ارسال درج می‌شود.
دیجیتس جریان ورود/ثبت‌نام/فراموشی گذرواژه‌ی مبتنی بر موبایل دیجیتس.

ووکامرس

کلید فرم محافظت‌شده
ورود به حساب کاربری فرم ورود حساب ووکامرس
ثبت‌نام حساب کاربری فرم ثبت‌نام حساب ووکامرس
تسویه‌حساب فرم تسویه‌حساب ووکامرس (به‌طور پیش‌فرض خاموش)
بازیابی گذرواژه فرم بازیابی گذرواژه‌ی ووکامرس
💡تصمیم نهایی قبول/رد همیشه روی سرور شما گرفته می‌شود، بنابراین این محافظت از طریق مرورگر قابل دور زدن نیست.

۶. افزودن کپچا به فرم ورود وردپرس

کلید فرم محافظت‌شده
فرم ورود فرم ورودِ wp-login.php
فرم ثبت‌نام فرم ثبت‌نام وردپرس
فرم بازیابی گذرواژه فرم فراموشی/بازنشانی گذرواژه
فرم دیدگاه فرم دیدگاه نوشته‌ها (فقط برای بازدیدکنندگان خارج‌شده)

برای محافظت از صفحه‌ی ورود:

  1. به تنظیمات ← کپچاپرس ← یکپارچه‌سازی‌ها بروید.
  2. کلید فرم ورود را روشن کنید.
  3. روی ذخیره‌ی تغییرات کلیک کنید.
  4. صفحه‌ی ورود را در یک پنجره‌ی ناشناس باز کنید تا از نمایش کپچا مطمئن شوید.
🚨مراقب باشید خودتان را پشت در نگذارید. پیش از تکیه بر کپچای ورود، همیشه آن را در یک مرورگر جداگانه آزمایش کنید در حالی که جای دیگری وارد حساب باقی مانده‌اید. در صورت بروز مشکل، می‌توانید با تغییر نام پوشه‌ی افزونه از طریق File Manager افزونه را فوراً غیرفعال کنید.

۷. انتخاب و سفارشی‌سازی ۴ سبک کپچا

کپچاپرس شامل چهار سبک چالش تعاملی است. سبک پیش‌فرض را از تنظیمات ← کپچاپرس ← عمومی ← سبک فعال کپچا انتخاب کنید.

اسلایدر کشیدنیslider

یک دستگیره را در طول ریل می‌کشد تا روی هدف هایلایت‌شده قرار گیرد.

تکه‌ی پازلpuzzle

تکه‌ی گم‌شده‌ی پازل را در جای خالی‌اش می‌کشد.

اشکال هندسیshapes

روی همه‌ی اشکالی که با رنگ خواسته‌شده مطابقت دارند کلیک می‌کند.

متنی کلاسیکtext

حروف/اعداد تحریف‌شده‌ی نمایش‌داده‌شده را تایپ می‌کند.

تنظیم رفتار (زبانه‌ی عمومی)

تنظیم بازه / پیش‌فرض توضیح
سبک فعال کپچا یکی از چهار / slider سبکی که به‌طور پیش‌فرض همه‌جا سرو می‌شود.
طول عمر توکن (ثانیه) ۳۰ تا ۶۰۰ / ۱۲۰ مدت زمانی که یک چالش معتبر می‌ماند.
حداقل نقاط مسیر حرکت ۰ تا ۲۰۰ / ۸ تعداد نمونه‌ی حرکت ماوس لازم. ۰ = غیرفعال.
محدودیت نرخ بارگذاری مجدد تعداد / ۲۰ در هر ۶۰ ثانیه محدود می‌کند یک IP چند بار می‌تواند چالش را بارگذاری کند.

۸. تغییر آیکن ربات

آیکن داخل باکس «من ربات نیستم» را می‌توان به هر یک از ۱۸ آیکن ربات ارائه‌شده تغییر داد.

تغییر آیکن کپچاپرس

  1. به تنظیمات ← کپچاپرس ← ظاهر بروید.
  2. فیلد آیکن ربات را پیدا کنید — همه‌ی آیکن‌ها به‌صورت یک شبکه‌ی قابل‌کلیک نمایش داده می‌شوند.
  3. روی آیکن دلخواه کلیک کنید. کاشی انتخاب‌شده با یک حاشیه‌ی آبی مشخص می‌شود.
  4. روی ذخیره‌ی تغییرات کلیک کنید.
💡آیکن انتخاب‌شده بلافاصله در باکس «من ربات نیستم» در سمت کاربر ظاهر می‌شود.

۹. حالت روشن / تیره

کپچاپرس می‌تواند ابزارک خود را با طرح رنگی روشن یا تیره نمایش دهد.

حالت روشن و تیره افزونه

  1. به تنظیمات ← کپچاپرس ← ظاهر بروید.
  2. کشویی حالت رنگ را روی یکی از موارد زیر بگذارید:
  • روشن — همیشه از طرح روشن استفاده کن.
  • تیره — همیشه از طرح تیره استفاده کن.
  • خودکار (بر اساس دستگاه) — با تنظیم حالت تیره‌ی سیستم‌عامل هماهنگ شو.
💡حالت خودکار از تنظیم دستگاه بازدیدکننده (prefers-color-scheme) استفاده می‌کند و در صورت تغییر تم دستگاه، به‌صورت زنده به‌روزرسانی می‌شود.

۱۰. فونت‌ها و نحوه‌ی غیرفعال‌سازی آن‌ها

کپچاپرس شش فونت وب فارسی را همراه دارد: وزیرمتن، دانا، ایران‌سنس، یکان بخ، یکان و پرستو.

  1. به تنظیمات ← کپچاپرس ← ظاهر بروید.
  2. از کشویی فونت یک قلم انتخاب کنید.
  3. با تیک‌های بارگذاری فونت در تعیین کنید فونت کجا اعمال شود.
  4. روی ذخیره‌ی تغییرات کلیک کنید.

نحوه‌ی غیرفعال‌سازی فونت‌های داخلی

  • راه ۱ (پیشنهادی): در کشویی فونت، گزینه‌ی «هیچ‌کدام (استفاده از پیش‌فرض قالب)» را انتخاب کنید.
  • راه ۲: یک فونت را انتخاب‌شده باقی بگذارید اما هر دو تیک «صفحات سمت کاربر» و «صفحات ورود» را بردارید.

۱۱. استفاده از کد کوتاه

برای فرم‌های سفارشی (هر فرمی که تحت پوشش یکپارچه‌سازی‌های داخلی نیست)، کپچا را با یک کد کوتاه اضافه کنید.

استفاده‌ی پایه — داخل تگ <form> قرار دهید:

shortcode
[captchapress]

انتخاب یک سبک مشخص با ویژگی style:

shortcode
[captchapress style="slider"]
[captchapress style="puzzle"]
[captchapress style="shapes"]
[captchapress style="text"]

نام مستعار — برای سازگاری با نسخه‌های پیشین:

shortcode
[custom_recaptcha style="shapes"]
⚠️کد کوتاه تنها کپچا را نمایش می‌دهد. برای آنکه واقعاً یک فرم سفارشی هنگام نادرست بودن کپچا مسدود شود، باید ارسال اعتبارسنجی شود — به بخش ۱۳ مراجعه کنید.

۱۲. مرجع کامل ویژگی‌های کد کوتاه

کد کوتاه از یک ویژگی پشتیبانی می‌کند:

مشخصه جزئیات
ویژگی style
اجباری؟ خیر — اختیاری
پیش‌فرض همان «سبک فعال کپچا» که در زبانه‌ی عمومی تنظیم شده
مقادیر مجاز slider، puzzle، shapes، text
رفتار مقدار نامعتبر بازمی‌گردد به slider به‌صورت ایمن
shortcode
[captchapress]                     ← از سبک پیش‌فرض زبانه‌ی عمومی استفاده می‌کند
[captchapress style="puzzle"]      ← اینجا سبک پازل را اجبار می‌کند
[captchapress style="text"]        ← اینجا سبک متنی کلاسیک را اجبار می‌کند
[custom_recaptcha style="shapes"]  ← تگ مستعار، سبک اشکال

۱۳. اعتبارسنجی یک فرم سفارشی

وقتی از کد کوتاه روی یک فرم دست‌ساز استفاده می‌کنید، باید هنگام ارسال فرم، کپچا را در سمت سرور اعتبارسنجی کنید:

php
$result = \CaptchaPress\Controllers\CaptchaController::verify_request( wp_unslash( $_POST ) );

if ( is_wp_error( $result ) ) {
    // کپچا ناموفق بود — ارسال را رد کنید و $result->get_error_message() را نمایش دهید.
} else {
    // موفق بود — پردازش فرم را ادامه دهید.
}

محافظت خودکار با فیلتر

یا با فیلتر زیر، اجبارِ اعتبارسنجی را برای ارسال فرم خود فعال کنید:

php
add_filter( 'captchapress_require_captcha', function ( $require ) {
    if ( isset( $_POST['my_custom_form_action'] ) ) {
        return true; // اکنون ارسال بدون توکن به این فرم مسدود می‌شود
    }
    return $require;
} );
💡ابزارک یک فیلد محافظ (guard) مخفی نیز ایجاد می‌کند. اگر توکن گم‌شده، خالی یا نامعتبر باشد، کپچاپرس به‌طور خودکار آن را مسدود می‌کند (HTTP 403).

۱۴. عیب‌یابی و پرسش‌های متداول

؟کپچا روی فرم من نمایش داده نمی‌شود.

  • مطمئن شوید کلید مربوطه روشن است و ذخیره‌ی تغییرات را زده‌اید.
  • برای فرم‌های سفارشی، مطمئن شوید کد کوتاه [captchapress] داخل تگ <form> قرار دارد.
  • در یک پنجره‌ی خارج‌از‌حساب/ناشناس بررسی کنید.

؟صفحه‌ی تنظیمات پس از به‌روزرسانی بدون استایل دیده می‌شود.

یک‌بار صفحه را با Ctrl+F5 (یا Cmd+Shift+R) به‌طور کامل تازه‌سازی کنید. منابع مدیریت به‌طور خودکار پاکسازی کش می‌شوند. پیشنهاد می شود اگر از پلاگین های کش نظیر لایت اسپید کش یا wp-rocket استفاده میکنید، یکدور کش را دستی پاک کنید.

؟بازدیدکننده نمی‌تواند کپچای کشیدنی را حل کند.

سخت‌گیری را کاهش دهید: عمومی ← حداقل نقاط مسیر حرکت — عدد کوچک‌تری امتحان کنید یا ۰ برای غیرفعال کردن بررسی مسیر. کاربران صفحه‌کلید ممکن است حرکت ماوس تولید نکنند.

؟پیام «درخواست‌های بیش از حد» دریافت می‌کنم.

این همان محدودیت نرخِ بارگذاری مجدد بر اساس IP است. برای سایت‌هایی که افراد زیادی یک IP مشترک دارند، مقدار عمومی ← محدودیت نرخ بارگذاری مجدد را افزایش دهید.

؟آیا کپچاپرس داده‌ای به گوگل یا سرورهای بیرونی می‌فرستد؟

خیر. همه‌چیز روی هاست خودتان اجرا می‌شود. بدون کلید API، بدون درخواست شخص ثالث.

؟چگونه آن را به‌طور کامل حذف کنم؟

از صفحه‌ی افزونه‌ها غیرفعال و حذف کنید. هنگام حذف، کپچاپرس تنظیمات و توکن‌های موقت خود را به‌طور خودکار پاک می‌کند.