RevealTheme logo

كيف يعمل كاشف RevealTheme

عندما تُدخِل رابطًا في أحد كواشفنا، تحدث أمور كثيرة في الثانيتين قبل أن ترى النتائج. إليك الجولة التقنية للفضوليين، بما في ذلك القيود التي لا يمكننا حلّها بالهندسة.

الخطوة 1: جلب HTML العام

عندما ترسل رابطًا، يجلب خادمنا صفحة الويب العامة لذلك الرابط باستخدام User-Agent معياري لمتصفح. إنه نفس HTML الذي سيستقبله متصفحك لو زرت الموقع مباشرةً. نحن لا نتجاوز جدران الدفع، ولا نستخرج محتوى محميًا بتسجيل الدخول، ولا نستخدم أي مصادقة.

يستخدم الجلب مهلة قدرها 20 ثانية. نتبع حتى 10 عمليات إعادة توجيه (وهو ما يغطي إعادة التوجيه من HTTP إلى HTTPS، ومن www إلى بدون-www، وإعادة التوجيه حسب البلد). إذا أعاد الموقع استجابة 4xx أو 5xx، أو لم يستجب ضمن نافذة المهلة، فإننا نعيد خطأً واضحًا بأنه «تعذّر الوصول» بدلًا من التخمين.

الخطوة 2: كشف المنصة

قبل محاولة تحديد قالب بعينه، نتحقق من نظام إدارة المحتوى الذي يشغّل الموقع. نبحث عن بصمات المنصات السبع المدعومة — WordPress وShopify وMagento وJoomla وDrupal وMoodle وPrestaShop — ونختار أقوى تطابق.

إذا أرسلت رابط Shopify إلى كاشف WordPress لدينا (أو العكس)، نخبرك بذلك ونربطك بالكاشف الصحيح. بلا تخمين، بلا نتائج إيجابية خاطئة.

الخطوة 3: كشف القالب

بالنسبة لـ WordPress تحديدًا، تظهر إشارات القالب عادةً في HTML الصفحة ضمن مسارات مثل wp-content/themes/اسم_القالب/style.css. نستخرج كل إشارة من هذه الإشارات من أي جزء في المستند: وسوم link، ووسوم script، وJavaScript المضمَّن، وكتل JSON-LD، وحتى المحتوى النصي. هذا يكشف القوالب التي أخفتها المواقع شديدة التحسين عن أدوات الكشف المعيارية.

لكل قالب مُكتشَف، نحاول جلب ملف style.css الخاص بالقالب. ترويسة ذلك الملف تحتوي على الاسم الرسمي للقالب والمؤلف والإصدار والرابط والوصف، مباشرةً من مطوّر القالب. هذا هو مصدر المعلومات الغنية عن القالب التي نعرضها بجانب نتيجة الكشف.

الخطوة 4: كشف الإضافات

يستخدم كشف الإضافات نهجين متوازيين. أولًا، نستخرج أي مسار ملف يطابق wp-content/plugins/اسم_الإضافة/. ثانيًا، ننفّذ عشرات الفحوص المبنية على البصمات: نبحث عن بنى HTML محددة، وأسماء فئات CSS، ومتغيّرات JavaScript مضمَّنة، وترويسات استجابة HTTP تحدِّد بشكل فريد الإضافات الشائعة مثل Elementor وYoast SEO وWPForms وWooCommerce وWordfence وغيرها.

تصميم النهج المزدوج يكشف الإضافات التي تخفي مسارات ملفاتها (عبر التخزين المؤقت أو تجميع الموارد) لكنها تترك مع ذلك بصمات مميِّزة. لكل إضافة مُكتشَفة، نبحث عنها في دليل إضافات WordPress.org لإثراء النتيجة بالاسم الرسمي للإضافة والوصف والمؤلف ولقطات الشاشة.

الخطوة 5: عمليات بحث الاستضافة + DNS

لتحديد مزوّد الاستضافة، نُجري بحث DNS على النطاق ونفحص عنوان IP وASN وDNS العكسي. نقارن ذلك بقاعدة بيانات لنطاقات IP المعروفة لمزوّدي الاستضافة لتحديد المزوّد. الدقة عالية للاستضافات الرئيسية (AWS، Cloudflare، Hostinger، SiteGround، إلخ) وأقل للمزوّدين المتخصصين.

ما لا نستطيع فعله

بعض الحالات التي لن يعمل فيها الكشف، مهما كان كودنا جيدًا:

  • تحدّي بوتات Cloudflare. المواقع ذات الحماية الصارمة ضد البوتات من Cloudflare (شاشة «جارٍ إجراء التحقق الأمني...») تحجب جالبنا تمامًا كما تحجب أي طلب آلي. لا توجد طريقة نظيفة لتجاوز ذلك.
  • القوالب المخصصة بكثافة. إذا عُدِّل قالب لدرجة حُذفت معها من HTML كل إشارة إلى اسم القالب الأصلي، فلن يكون لدينا ما نكشفه.
  • التخزين المؤقت العدواني مع إعادة كتابة مسارات الموارد. إضافات مثل LiteSpeed Cache وWP Rocket وRocket Loader من Cloudflare تعيد أحيانًا كتابة روابط الموارد لإخفاء المصدر. كشفنا المبني على البصمات يلتقط معظمها، لكن ليس كلها.
  • مواقع التصدير الثابت. موقع WordPress جرى تصديره إلى HTML ثابت يفقد معظم بصمات وقت التشغيل التي تجعل الكشف ممكنًا.

ما لا نفعله

لقد سُئلنا. الإجابات هي لا:

  • لا نخزِّن الروابط التي ترسلها
  • لا نسجّل عناوين IP لأغراض تسويقية
  • لا نشارك بيانات الكشف مع المزوّدين
  • لا نتجاوز المصادقة أو robots.txt أو غيرها من ضوابط الوصول
  • لا نشغّل الكاشف على عناوين IP الداخلية/الخاصة (127.0.0.1، 10.x.x.x، إلخ) لأسباب أمنية

التفاصيل الكاملة للخصوصية في سياسة الخصوصية لدينا.

الوصول عبر واجهة برمجة التطبيقات

لا نقدّم حاليًا واجهة برمجة تطبيقات عامة، لكن وصولًا برمجيًا محدودًا متاح عند الطلب للوكالات والباحثين. راسلنا على hello@revealtheme.com مع حالة استخدامك وحجم الطلبات المتوقَّع.

لماذا ليس مفتوح المصدر؟

قواعد الكشف هي جوهر المنتج، ونحدِّثها بشكل متكرر مع تطوُّر القوالب والإضافات. فتح مصدرها سيبطئ وتيرة تحديثنا. ومع ذلك، ننشر تدوينات مفصّلة عن تقنيات الكشف في مدوّنتنا: ابحث عن «الكشف» للعثور عليها.

مستعد للتجربة؟

استخدم الكاشف الذي يطابق الموقع الذي تريد فحصه: