VIRTUAL BOTS EVERYWHERE?

A Guide To Robot Exclusion Protocol

--

“PROVE THAT YOU ARE NOT A ROBOT”

অনলাইনে ব্রাউজিং করতে গিয়ে আমরা কমবেশি এই CAPCHA টির সম্মুখীন হই।
আপনি নিজেকে হিউম্যান প্রমাণ করতে পারলেন বুঝলাম, কিন্তু কোন দুর্ভাগা রবোট ক্যাপচা ফিলাপ করতে গিয়ে ফেঁসে গেলো কি? প্রশ্নটা ঘুরপাক খেতেই পারে।
উত্তর হলো, ইন্টারনেটে আসলেই মুক্তভাবে ঘুরে বেড়াচ্ছে Web Bots/Internet Bots এর নানা রকমফের।

a title ‘internet bot’ and some robots exploring web pages
Source: Designed By Author

কেউ কেউ ভদ্রভাবে ইন্টারনেটে ছড়িয়ে ছিটিয়ে থাকা ওয়েব পেজগুলো প্রতিনিয়ত ভিজিট করে ডেটাগুলো ইনডেক্স ও SEO(Search Engine Optimization) Ranking করছে,
কেউ বিভিন্ন বিজনেস/ইকমার্স সাইটে বসে থাকে আপনার সাথে অটোমেটেড চ্যাটিং চালাতে,
আবার কোনো না কোনো Malicious Bot সুকৌশলে চেষ্টা করছে আপনার ওয়েবসাইটে স্প্যাম ছড়াতে, DDos Attack চালাতে কিংবা সাবধানে আড়ি পেতে আছে ডেটা চুরি করতে।

মজার ব্যাপার হচ্ছে, চেক করলে হয়তো দেখবেন আপনার ওয়েবসাইটে মানুষের চাইতে Bots রাই ভিজিট করেছে বেশি, কারণ ইন্টারনেটের ৫০% এরও অধিক ট্রাফিক নিয়ে রেখেছে Web Bots!

এখন প্রশ্ন হলো, এরা দেখতে কিরকম? দেখতে কী সায়েন্স ফিকশন মুভিতে দেখা কম্পিউটার সিস্টেমে এক্সেস নেয়া যান্ত্রিক টেন্ট্যাকলওয়ালা রবোটগুলোর মতো?
আসলে এরা হচ্ছে কম্পিটার প্রোগ্রাম যারা ইন্টারনেটে মুক্তভাবে বিচরণ করে আর ওয়েবপেজে গিয়ে automated scripts চালায়, সেকেন্ডের ভেতর ওয়েবসাইট স্ক্যান করে ফেলে!

Source: baseplus.de

Internet Bots সবচেয়ে বেশি ব্যবহৃত হয় Web Crawling/Web Spidering এ।

Google, Yahoo অথবা Bing সার্চ ইঞ্জিনগুলোতে আপনি যখন একটা অপরিচিত শব্দ লিখে সার্চ করেন আর সাথে সাথে সার্চ রেজাল্টে শখানেক ম্যাচিং ওয়েবসাইট ভেসে আসে তার কারণ সাইটগুলো ইতিমধ্যেই ওই সার্চ ইঞ্জিনের নিজস্ব বট ভিজিট করে ইনডেক্স করে নিয়েছে।

যেসব Bot এই কাজ করে তাদের বলা হয় Web Crawler/Spiderbot.
যেমনঃ Google এর GooglebotAdsbot, Bing এর Bingbot এবং Yahoo এর Slurp.

Web Crawlers রা মূলত একটা ওয়েবপেজের HTML MetaTags আর হাইপারলিংঙ্কগুলো স্ক্যান করে ইনডেক্স করে।
আমরা জানি, HTML একটি Markup Language যা দিয়ে একটি ওয়েবপেজের স্ট্রাকচার বানানো ও ওয়েব কনটেন্ট প্রদর্শিত হয়।

Meta Tags of www.microsoft.com

মাইক্রোসফটের অফিশিয়াল ওয়েবসাইটের HTML source লক্ষ করলে দেখবেন ক্রলিং এর জন্য তারা কেমন ধরনের MetaTags ইনফরমেশন দিয়ে রেখেছে।

আমরা অনেক সময় দেখি নতুন বানানো ওয়েবসাইট পাবলিশের অল্প কিছুদিনের মধ্যেই স্লো লোড হচ্ছে।
আসলে একটা সাইটে ভিজিটর বটের পরিমান অত্যাধিক বেড়ে গেলে সার্ভারের রিসোর্সের ওপর চাপ পড়ে, তাই ওয়েবসাইট স্লো লোডিং এর এটি অন্যতম কারণ।

ওয়েব ডেভেলপমেন্টে যারা বিগিনার, Internet Bots দের এসব কর্মকান্ড জানলে এখনই কপালে ভাঁজ পড়া স্বাভাবিক।
আপাতত চিন্তা করা লাগবে না, পপুলার সল্যুশনটা দেই।

REP(Robots Exclusion Protocol) অনুসারে আপনার সাইটে ইনকামিং ট্রাফিক (Web crawler) কন্ট্রোল করতে পারবেন একটি Text File এ কিছু ডিরেক্টিভ লিখে।
ফাইলটি robots.txt নামে বহুল পরিচিত, এবং এটি বসাতে হয় আপনার ওয়েব হোস্টিং সার্ভারের রুট ডিরেক্টরিতে।
আপনার ওয়েব ব্রাউজারে www.[Your-Site-Name]/robots.txt ফরমেটে এড্রেস দিয়ে যেকোনো ওয়েবসাইটের নিজস্ব REP ফাইলটি দেখতে পাবেন।

এই লিংকে ঢু মেরে ফেসবুকের robots.txt একপলক দেখে আসতে পারেন।

ইনকামিং Web Crawler আপনার সাইট ভিজিট করতে আসলে আগে সাইটের robots.txt ফাইলটি রিড করে সেই প্রোটোকল অনুযায়ী আপনার ওয়েব পেইজগুলো ক্রল/ইনডেক্স করবে। (Malicious Bot হলে কিন্তু ভিন্ন কথা, তারা এসব প্রোটোকল হিসাবেই ধরবে না)

ধরে নেই আপনি খাটাখাটনি করে একটি ওয়েবসাইট বানিয়ে ফেলেছেন, ডোমেইন নেম www.allaboutinternetbots.info, সেটি হোস্টিং করে ফেলেছেন X Hosting প্রোভাইডারে।
এখন আপনি যেকোনো Text Editor দিয়ে একটি Empty File ওপেন করে নিচের কোডগুলো লিখবেন-

Example robots.txt file

কোডটার মানে বোঝা খুব সোজা।

১. ‘#’ দিয়ে শুরু হওয়া লাইনগুলো হচ্ছে COMMENT, এগুলো প্লেইন টেক্সট, কোনো বিশেষ কাজ নেই।

২. ‘User-agent: ’ এর পাশে যে Crawler এর জন্য পরবর্তী ডিরেক্টিভগুলো প্রযোজ্য সেটির নাম লিখতে হবে।
যেমনঃ googlebot এর জন্য কিছু নির্দেশনা দিতে চাইলে, শুরুতে ‘User-agent: googlebot’ লিখে দিতে হবে।
আর বিশেষ কোনো Bot কে নির্দেশ না করে In general সব ধরনের Bot এর জন্য একই ডিরেক্টিভ দিতে চাইলে ‘User-Agent:*’ দিতে হবে।

৩. ‘Disallow:’ ডিরেক্টিভ দিয়ে আপনার সার্ভারের যেই ফোল্ডার/ফাইল এ googlebot কে ঢুকতে দিতে চাচ্ছেন না, সেটির Directory PATH বসিয়ে দিবেন। যেমন এখানেরুট ডিরেকটরির img নামক ফোল্ডার ও data ফোল্ডারের classified সাবফোল্ডার রেস্ট্রিক্টেড করা হয়েছে।
একইভাবে ‘Allow:’ ডিরেক্টিভ দিয়ে উল্টো কাজটা করতে পারবেন, যেমনটি করা হয়েছে একটি PNG image এর ক্ষেত্রে।

আপনার হার্ডডিস্কে “robots.txt” নাম দিয়ে সেভ করলেই আপনার ফাইল রেডি।

Source: Author

এবার X Hosting এ আপনার সাইটের কন্ট্রোল প্যানেল থেকে ফাইল ম্যানেজারে গিয়ে রুট ডিরেক্টরিতে ফাইলটা আপলোড করে ফেলবেন।
www.allaboutinternetbots.info/robots.txt এড্রেসবারে লিখলে ফাইলটি দেখতে পাবেন।
ব্যাস, কাজ হয়ে গেলো!

আপনার Disallow করা ফাইলগুলো এখন আর গুগলের সার্চ রেজাল্টে আসবে না, একইসাথে ওয়েবসাইটের পেজগুলোতে googlebot এর ট্রাফিকও কন্ট্রোল করতে পারছেন।

তবে মাথায় রাখবেন, robots.txt ফাইল দিয়ে কেবল web crawler দের এক্সেস কন্টোল সম্ভব, যারা REP প্রটোকলমেনে চলে। এতে আপনার সাইটের কোনো ফাইল Hide হচ্ছে না, বরং ইন্ডেক্সিং থেকে বিরত থাকছে। ফাইলের এক্সেস কন্টোল করতে আপনার অন্য সিস্টেমে আগাতে হবে।

সবশেষে একটা সাজেশন- ডিজিটাল যুগে সাইবার সিকিউরিটি নিয়ে সচেতন থাকলে ও টেকনোলজিক্যালি সাউন্ড নলেজ রাখলে আপনি সবসময় নিজেকে একধাপ এগিয়ে রাখছেন, Internet Bot দের বোকা বানানো তখন আপনার কাছে পানিভাত।

Image design components collected from: www.flaticon.com (freepik,goodware,phatplus,srip and xnimrodx)

--

--

Anjum Rashid
প্রোগ্রামিং পাতা

Microsoft Ambassador Alumni | GitHub Campus Expert | InfoSec Enthusiast | Blockchain Explorer