منتديات تلوين
🌈 لوحات الألوان 🎨 استخراج الألوان من الصور 📝 فرونت بيج أون لاين 📐 تغيير حجم وضغط الصور أون لاين ⚡ تحويل لـ WebP

منتديات تلوين > المنتديات العامة > تطوير وبرمجة المواقع
التسجيل المجموعات مشاركات اليوم البحث

[vBulletin3.8] طريقة تركيب رمز التحقق «أنا لست روبوت» من Cloudflare لحماية التسجيل


 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
10-01-2026   #1
ناصر
إدارة المنتدى
★★★★
 
الصورة الرمزية ناصر
 
رقم العضوية: 2
تاريخ التسجيل: Feb 2016
الدولة: USA
المشاركات: 746
آخر نشاط: غير متاح
ناصر غير متواجد حالياً
[vBulletin3.8] طريقة تركيب رمز التحقق «أنا لست روبوت» من Cloudflare لحماية التسجيل

طريقة تركيب Cloudflare Turnstile لحماية التسجيل في vBulletin 3.8.x



[vBulletin3.8] طريقة تركيب رمز التحقق «أنا لست روبوت» من Cloudflare لحماية التسجيل منتديات تلوين

يساعد Cloudflare Turnstile على تقليل تسجيل البوتات والحسابات الآلية في المنتديات. وفي هذا الشرح سنضيف مربع التحقق إلى صفحة التسجيل، ثم نربطه بإضافة PHP للتحقق من النتيجة قبل إنشاء الحساب.
متطلبات التركيب: تفعيل نظام الإضافات في المنتدى، ودعم PHP لإضافتي cURL وJSON، وإمكانية اتصال الاستضافة بخدمة Cloudflare عبر HTTPS. يجب أيضًا وجود نقطة الربط register_addmember_process في ملف register.php قبل حفظ الحساب.

الخطوة الأولى: إنشاء مربع التحقق والحصول على المفاتيح


ادخل إلى لوحة تحكم Cloudflare، ثم انتقل من القائمة الجانبية إلى Protect & connect ← Application security ← Turnstile، واضغط Add widget.
  • اكتب اسمًا للمربع يساعدك على تمييزه، مثل اسم المنتدى.
  • أضف نطاق منتداك ضمن النطاقات المسموح بها، مثل example.com، وأضف www.example.com إذا كنت تستخدمه أيضًا.
  • اختر وضع Managed.
  • أكمل إنشاء المربع للحصول على المفاتيح.
ستحصل على مفتاحين:
  • Site Key: مفتاح عام يوضع في قالب التسجيل.
  • Secret Key: مفتاح سري يوضع في إضافة PHP. لا تنشره ولا تضعه في القوالب.

الخطوة الثانية: إضافة المربع إلى قالب التسجيل


اذهب إلى لوحة تحكم الإدارة ← الاستايلات والقوالب ← التحكم بالاستايلات ← تعديل القوالب ← قوالب التسجيل، ثم افتح قالب register.
ابحث عن:
كود:
$human_verify
اترك السطر كما هو، وأضف الكود التالي تحته مباشرة:
كود:
<fieldset class="fieldset">
	<legend>التحقق من أنك إنسان</legend>
	<script type="text/javascript"
		src="https://challenges.cloudflare.com/turnstile/v0/api.js"
		async="async" defer="defer"></script>
	<div class="cf-turnstile"
		data-sitekey="YOUR_SITE_KEY"
		data-action="register"
		data-theme="light"></div>
</fieldset>
استبدل YOUR_SITE_KEY بمفتاح الموقع العام Site Key، ثم احفظ القالب.
ملاحظة: إذا كنت تستخدم استايلًا مستقلًا للجوال أو عدة قوالب تسجيل مستقلة، أضف الكود إلى كل قالب يستخدمه الزوار.

الخطوة الثالثة: إنشاء إضافة التحقق عبر PHP


إضافة المربع إلى القالب وحدها لا تكفي. يجب فحص رمز التحقق من جهة الخادم قبل السماح بإنشاء الحساب.
اذهب إلى لوحة تحكم الإدارة ← المنتجات والإضافات ← إضافة Plugin جديد، ثم اضبط الخيارات التالية:
  • المنتج — Product: vBulletin.
  • نقطة الربط — Hook Location: register_addmember_process.
  • العنوان — Title: Cloudflare Turnstile Registration.
  • ترتيب التنفيذ — Execution Order: 5.
  • الإضافة مفعّلة — Plugin is Active: نعم.
ضع الكود التالي في خانة Plugin PHP Code دون إضافة وسمي فتح وإغلاق PHP:
كود:
$turnstile_secret = 'YOUR_SECRET_KEY_HERE';

$turnstile_token = (
    isset($_POST['cf-turnstile-response'])
    && is_string($_POST['cf-turnstile-response'])
) ? trim($_POST['cf-turnstile-response']) : '';

$turnstile_valid = false;
$turnstile_message = 'Please complete the human verification and try again.';

if ($turnstile_secret == 'YOUR_SECRET_KEY_HERE'
    || !function_exists('curl_init')
    || !function_exists('json_decode'))
{
    $turnstile_message = 'Human verification is unavailable. Please contact the administrator.';
}
else if ($turnstile_token != '' && strlen($turnstile_token) <= 2048)
{
    $turnstile_ch = curl_init(
        'https://challenges.cloudflare.com/turnstile/v0/siteverify'
    );

    if ($turnstile_ch !== false)
    {
        curl_setopt($turnstile_ch, CURLOPT_POST, true);
        curl_setopt(
            $turnstile_ch,
            CURLOPT_POSTFIELDS,
            http_build_query(array(
                'secret' => $turnstile_secret,
                'response' => $turnstile_token
            ), '', '&')
        );
        curl_setopt($turnstile_ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($turnstile_ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($turnstile_ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($turnstile_ch, CURLOPT_SSL_VERIFYPEER, true);
        curl_setopt($turnstile_ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($turnstile_ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/x-www-form-urlencoded'
        ));

        $turnstile_response = curl_exec($turnstile_ch);
        $turnstile_status = curl_getinfo(
            $turnstile_ch, CURLINFO_HTTP_CODE
        );
        curl_close($turnstile_ch);

        if ($turnstile_response !== false && $turnstile_status == 200)
        {
            $turnstile_result = json_decode($turnstile_response, true);

            $turnstile_valid = (
                is_array($turnstile_result)
                && isset($turnstile_result['success'])
                && $turnstile_result['success'] === true
                && isset($turnstile_result['hostname'])
                && in_array(
                    $turnstile_result['hostname'],
                    array('example.com', 'www.example.com'),
                    true
                )
                && isset($turnstile_result['action'])
                && $turnstile_result['action'] === 'register'
            );
        }
        else
        {
            $turnstile_message = 'Human verification is temporarily unavailable. Please try again later.';
        }
    }
}

if (!$turnstile_valid)
{
    $userdata->errors[] = $turnstile_message;
}

unset($turnstile_secret, $turnstile_token);
قبل حفظ الإضافة، عدّل القيم التالية:
  • استبدل YOUR_SECRET_KEY_HERE بالمفتاح السري في السطر الأول فقط. اترك النص المماثل الموجود داخل شرط الفحص كما هو.
  • استبدل example.com بنطاق منتداك.
  • استبدل www.example.com بنطاق منتداك مع www.
  • اكتب النطاق دون https:// ودون شرطة مائلة في نهايته. إذا كان المنتدى داخل مجلد، اكتب النطاق فقط دون اسم المجلد.
احفظ الإضافة. لا تحتاج إلى تعديل ملف register.php إذا كانت نقطة الربط المذكورة موجودة قبل حفظ الحساب.

الخطوة الرابعة: التأكد من عمل التسجيل


بعد حفظ القالب وإضافة PHP، افتح صفحة التسجيل في نافذة تصفح خفية، ثم:
  • تأكد من ظهور مربع Cloudflare Turnstile.
  • أدخل جميع بيانات التسجيل المطلوبة بشكل صحيح.
  • انتظر نجاح التحقق وظهور علامة الصح، ثم اضغط زر إكمال التسجيل.
إذا تم التسجيل بنجاح، فهذا يؤكد أن التسجيل يعمل مع الإضافة. أما ظهور المربع وحده فلا يؤكد وجود الحماية؛ يجب تركيب إضافة PHP وتفعيلها أيضًا.

حل المشكلات الشائعة

  • المربع لا يظهر: تأكد من تعديل قالب الاستايل المستخدم، وصحة Site Key، والسماح بنطاق المنتدى في إعدادات Turnstile.
  • تظهر علامة صح لكن التسجيل يُرفض: راجع Secret Key والنطاقات المكتوبة في إضافة PHP، وتأكد من وجود data-action="register" في كود المربع.
  • تظهر رسالة أن التحقق غير متاح: تأكد من دعم PHP لـ cURL وJSON ومن قدرة الاستضافة على الاتصال بخدمة Cloudflare عبر HTTPS.
  • ظهرت أخطاء في بيانات التسجيل: صحّح البيانات وأكمل التحقق مجددًا قبل إعادة الإرسال، لأن رمز التحقق يُستخدم مرة واحدة.
  • تعطّل التسجيل بعد التركيب: عطّل الإضافة مؤقتًا من لوحة الإدارة أثناء معالجة المشكلة، مع العلم أن تعطيلها يوقف فحص Turnstile من جهة الخادم.

نصائح للحفاظ على الحماية

  • اترك كود المربع وإضافة PHP مفعّلين معًا.
  • احتفظ بالمفتاح السري بعيدًا عن القوالب والمواضيع العامة.
  • أبقِ التحقق من البريد الإلكتروني مفعّلًا إذا كنت تريد اشتراط تفعيل البريد قبل السماح بالمشاركة.
  • تابع الحسابات والمشاركات المزعجة؛ فهذه الحماية تقلل التسجيل الآلي، لكنها لا تمنع جميع البوتات أو الأشخاص الذين يسجلون يدويًا.

المصدر الرسمي: توثيق Cloudflare للتحقق من رموز Turnstile من جهة الخادم
☕ أعجبك الموضوع؟
يمكنك دعم منتديات تلوين والاستمرار في تقديم المزيد من المحتوى.
التوقيع
للابلاغ عن روابط التحميل المعطلة / Broken Links Report
راسلنا عبر البريد الإلكتروني:
tlwendotcom@gmail.com
او "الاتصال بنا"
  رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
turnstile, كلاودفلير, منتديات, vbulletin, تحقق, تسجيل, حماية, روبوت, سبام


اصدقاء تلوين ❤️


الساعة الآن 06:21 PM


tlwen.com ❤️ 2016 - 2026
Powered by vBulletin®
Copyright ©2000 - 2026, vBulletin Solutions, Inc.