RevealTheme logo

RevealTheme ডিটেক্টর কীভাবে কাজ করে

আপনি যখন আমাদের একটি ডিটেক্টরে একটি URL প্রবেশ করান, তখন ফলাফল দেখার আগের দুই সেকেন্ডে অনেক কিছু ঘটে। কৌতূহলীদের জন্য এখানে প্রযুক্তিগত পর্যালোচনা, সেইসব সীমাবদ্ধতা সহ যা আমরা ইঞ্জিনিয়ারিং দিয়ে সমাধান করতে পারি না।

ধাপ ১: সর্বজনীন HTML আনা

আপনি যখন একটি URL জমা দেন, তখন আমাদের সার্ভার একটি স্ট্যান্ডার্ড ব্রাউজার User-Agent ব্যবহার করে সেই URL-এর সর্বজনীন ওয়েব পৃষ্ঠাটি আনে। এটি ঠিক সেই HTML যা আপনার ব্রাউজার পেত যদি আপনি সাইটটি সরাসরি পরিদর্শন করতেন। আমরা পেমেন্ট প্রাচীর এড়াই না, লগইন-সুরক্ষিত কনটেন্ট স্ক্র্যাপ করি না, কোনো অথেন্টিকেশন ব্যবহার করি না।

আনার কাজটি ২০ সেকেন্ডের একটি টাইমআউট ব্যবহার করে। আমরা ১০টি পর্যন্ত রিডাইরেক্ট অনুসরণ করি (যা HTTP → HTTPS, www → www-বিহীন এবং দেশভিত্তিক রিডাইরেক্ট কভার করে)। সাইটটি যদি একটি 4xx বা 5xx প্রতিক্রিয়া ফেরত দেয়, অথবা টাইমআউট উইন্ডোর মধ্যে সাড়া না দেয়, তাহলে আমরা অনুমান করার পরিবর্তে একটি স্পষ্ট «অ্যাক্সেস করা যায়নি» ত্রুটি ফেরত দিই।

ধাপ ২: প্ল্যাটফর্ম শনাক্ত করা

একটি নির্দিষ্ট থিম শনাক্ত করার চেষ্টা করার আগে, আমরা দেখি সাইটটি কোন CMS চালাচ্ছে। আমরা ৭টি সমর্থিত প্ল্যাটফর্মের ছাপ খুঁজি—WordPress, Shopify, Magento, Joomla, Drupal, Moodle এবং PrestaShop—এবং সবচেয়ে শক্তিশালী মিলটি বেছে নিই।

আপনি যদি আমাদের WordPress ডিটেক্টরে একটি Shopify URL জমা দেন (বা উল্টোটা), আমরা আপনাকে তা জানাই এবং সঠিক ডিটেক্টরের সঙ্গে লিঙ্ক করি। কোনো অনুমান নয়, কোনো ভুল ইতিবাচক নয়।

ধাপ ৩: থিম শনাক্তকরণ

বিশেষত WordPress-এর ক্ষেত্রে, থিমের রেফারেন্স সাধারণত পৃষ্ঠার HTML-এ wp-content/themes/থিমের_নাম/style.css-এর মতো পাথে দেখা যায়। আমরা ডকুমেন্টের যেকোনো অংশ থেকে এই প্রতিটি রেফারেন্স বের করি: link ট্যাগ, script ট্যাগ, ইনলাইন JavaScript, JSON-LD ব্লক এবং এমনকি টেক্সট কনটেন্ট। এটি এমন থিম শনাক্ত করে যা অত্যন্ত অপ্টিমাইজড সাইটগুলি স্ট্যান্ডার্ড শনাক্তকরণ টুল থেকে লুকিয়ে রেখেছে।

শনাক্ত হওয়া প্রতিটি থিমের জন্য, আমরা থিমের style.css ফাইলটি আনার চেষ্টা করি। সেই ফাইলের হেডারে থিমের অফিসিয়াল নাম, লেখক, সংস্করণ, URI এবং বর্ণনা থাকে, সরাসরি থিম ডেভেলপারের কাছ থেকে। এটিই সেই সমৃদ্ধ থিম তথ্যের উৎস যা আমরা শনাক্তকরণের ফলাফলের পাশে দেখাই।

ধাপ ৪: প্লাগইন শনাক্তকরণ

প্লাগইন শনাক্তকরণ দুটি সমান্তরাল পদ্ধতি ব্যবহার করে। প্রথমত, আমরা wp-content/plugins/প্লাগইনের_নাম/-এর সঙ্গে মেলে এমন যেকোনো ফাইল পাথ বের করি। দ্বিতীয়ত, আমরা সিগনেচার-ভিত্তিক কয়েক ডজন যাচাই চালাই: আমরা নির্দিষ্ট HTML কাঠামো, CSS ক্লাসের নাম, ইনলাইন JavaScript ভেরিয়েবল এবং HTTP প্রতিক্রিয়া হেডার খুঁজি যা Elementor, Yoast SEO, WPForms, WooCommerce, Wordfence-এর মতো জনপ্রিয় প্লাগইনগুলিকে স্বতন্ত্রভাবে শনাক্ত করে।

দ্বৈত-পদ্ধতি নকশা এমন প্লাগইন শনাক্ত করে যা তাদের ফাইল পাথ লুকায় (ক্যাশিং বা রিসোর্স বান্ডলিংয়ের মাধ্যমে) কিন্তু তবুও স্বতন্ত্র সিগনেচার রেখে যায়। শনাক্ত হওয়া প্রতিটি প্লাগইনের জন্য, আমরা ফলাফলটিকে প্লাগইনের অফিসিয়াল নাম, বর্ণনা, লেখক ও স্ক্রিনশট দিয়ে সমৃদ্ধ করতে WordPress.org প্লাগইন ডিরেক্টরি-তে এটি খুঁজি।

ধাপ ৫: হোস্টিং + DNS অনুসন্ধান

হোস্টিং প্রদানকারী শনাক্ত করতে, আমরা ডোমেইনের একটি DNS অনুসন্ধান করি এবং IP ঠিকানা, ASN ও রিভার্স DNS পরিদর্শন করি। আমরা প্রদানকারী শনাক্ত করতে পরিচিত হোস্টিং প্রদানকারীর IP রেঞ্জের একটি ডেটাবেসের সঙ্গে এটি ক্রস-রেফারেন্স করি। প্রধান হোস্টিংয়ের (AWS, Cloudflare, Hostinger, SiteGround, ইত্যাদি) জন্য নির্ভুলতা বেশি এবং নিশ প্রদানকারীদের জন্য কম।

আমরা যা করতে পারি না

কিছু ক্ষেত্রে শনাক্তকরণ কাজ করবে না, আমাদের কোড যত ভালোই হোক না কেন:

  • Cloudflare বট চ্যালেঞ্জ। কঠোর Cloudflare বট সুরক্ষাযুক্ত সাইট (যে «Checking your browser...» স্ক্রিন দেখায়) আমাদের ফেচারকে ব্লক করে, ঠিক যেমন তারা যেকোনো স্বয়ংক্রিয় অনুরোধ ব্লক করত। এটি এড়ানোর কোনো পরিচ্ছন্ন উপায় নেই।
  • ব্যাপকভাবে কাস্টমাইজড থিম। একটি থিম যদি এতটাই পরিবর্তিত হয় যে HTML থেকে মূল থিমের নামের প্রতিটি রেফারেন্স মুছে ফেলা হয়েছে, তাহলে শনাক্ত করার মতো আমাদের কাছে কিছু নেই।
  • রিসোর্স পাথ পুনর্লিখনসহ আগ্রাসী ক্যাশিং। LiteSpeed Cache, WP Rocket এবং Cloudflare-এর Rocket Loader-এর মতো প্লাগইন কখনো কখনো উৎস লুকাতে রিসোর্স URL পুনর্লিখন করে। আমাদের সিগনেচার-ভিত্তিক শনাক্তকরণ এগুলির বেশিরভাগ ধরে, তবে সব নয়।
  • স্ট্যাটিক এক্সপোর্ট সাইট। একটি WordPress সাইট যা স্ট্যাটিক HTML-এ এক্সপোর্ট করা হয়েছে, তা বেশিরভাগ রানটাইম সিগনেচার হারায় যা শনাক্তকরণকে সম্ভব করে।

আমরা যা করি না

আমাদের এটি জিজ্ঞাসা করা হয়েছে। উত্তরগুলি না:

  • আপনি যে URL জমা দেন তা আমরা সংরক্ষণ করি না
  • আমরা মার্কেটিংয়ের উদ্দেশ্যে IP ঠিকানা লগ করি না
  • আমরা প্রদানকারীদের সঙ্গে শনাক্তকরণের ডেটা শেয়ার করি না
  • আমরা অথেন্টিকেশন, robots.txt বা অন্যান্য অ্যাক্সেস নিয়ন্ত্রণ এড়াই না
  • আমরা নিরাপত্তার কারণে অভ্যন্তরীণ/ব্যক্তিগত IP-তে (127.0.0.1, 10.x.x.x, ইত্যাদি) ডিটেক্টর চালাই না

সম্পূর্ণ গোপনীয়তার বিবরণ আমাদের গোপনীয়তা নীতি-তে রয়েছে।

API অ্যাক্সেস

আমরা বর্তমানে একটি সর্বজনীন API অফার করি না, তবে এজেন্সি ও গবেষকদের জন্য অনুরোধে সীমিত প্রোগ্রাম্যাটিক অ্যাক্সেস উপলব্ধ। আপনার ব্যবহারের ক্ষেত্র এবং প্রত্যাশিত অনুরোধের পরিমাণসহ hello@revealtheme.com-এ লিখুন।

এটি ওপেন সোর্স নয় কেন?

শনাক্তকরণের নিয়মগুলি পণ্যের মূল, এবং থিম ও প্লাগইন বিকশিত হওয়ার সঙ্গে সঙ্গে আমরা সেগুলি প্রায়ই হালনাগাদ করি। এগুলির কোড উন্মুক্ত করলে আমাদের হালনাগাদের গতি ধীর হয়ে যাবে। তবে, আমরা আমাদের ব্লগে শনাক্তকরণ কৌশল সম্পর্কে বিস্তারিত পোস্ট প্রকাশ করি: সেগুলি খুঁজে পেতে «detection» খুঁজুন।

এটি চেষ্টা করতে প্রস্তুত?

আপনি যে সাইটটি পরিদর্শন করতে চান তার সঙ্গে মেলে এমন ডিটেক্টর ব্যবহার করুন:

আপডেটের জন্য সাবস্ক্রাইব করুন

আমরা আপনার ইমেল বিক্রি করি না। আমরা স্প্যাম করি না।

© 2026 RevealTheme. All rights reserved.