هر سایتی، پیش از آنکه نخستین کاربر انسانی وارد شود، میزبان بازدیدکنندههای خودکار است. شناخت انواع رباتها و کراولرها یک دانستنی فنی حاشیهای نیست؛ همین شناخت تعیین میکند چه بخشی از محتوای شما در نتایج جستوجو دیده شود، سرورتان زیر بار درخواستهای پرمصرف دوام بیاورد یا نه، و کدام دادههایتان بیاجازه برداشت شود. اشتباه رایج این است که همه این ترافیک را یکجا «غیرانسانی» بنامیم و با یک سیاست سراسری مسدود کنیم؛ در حالی که هر گروه، سیاست متفاوتی میطلبد.
ربات چیست و مرز بحث ما کجاست؟
هر عاملی که بدون نظارت لحظهبهلحظه انسان کاری را خودکار انجام میدهد ربات است: از خزندهای که صفحهها را برای ایندکس میخواند تا دستیار متنی و اپراتور هوش مصنوعی که تماسهای تلفنی مشتریان را پاسخ میدهد. اما برای اینکه بحث کاربردی بماند، در این مقاله فقط رباتهایی را بررسی میکنیم که با وبسایت شما تعامل دارند؛ چون تصمیمهای عملی دقیقاً همینجا گرفته میشود.
تفکیک رباتها با دو پرسش
بهجای حفظ کردن فهرست بلند نامها، هر ربات را با دو پرسش بسنجید:
- هدفش چیست؟ منفعت مشترک دارد (ایندکس شدن، پایش سلامت)، منفعت تجاری یکطرفه دارد (برداشت قیمت و محتوا) یا زیانبار است (اسکن آسیبپذیری، حمله به فرم ورود)؟
- هویتش قابل احراز است؟ میتواند ادعای خود را با محدوده IP یا دامنه رسمی اثبات کند، یا فقط نامی در هدر User-Agent است که هر کسی میتواند بنویسد؟
خروجی این دو پرسش، چهار سیاست روشن میسازد: تسهیل، محدودسازی، مذاکره تجاری و مسدودسازی. توجه کنید که «مسدودسازی» فقط یکی از چهار گزینه است، نه پاسخ پیشفرض.
پنج خانواده اصلی رباتها و کراولرها
۱) کراولرهای موتورهای جستوجو
اینها برای کشف و ایندکسکردن صفحهها میآیند. نشانههایشان آشناست: هدر معرف خودشان را میفرستند، محدوده IP اعلامشده دارند و معمولاً به قواعد robots.txt احترام میگذارند. سیاست درست در برابرشان، تسهیل آگاهانه است: نقشه سایت، داده ساختاریافته و زمان پاسخ معقول در اختیارشان بگذارید. در عوض، سرعت ایندکسشدن و کیفیت نمایش صفحههایتان بالا میرود. مسدودکردن این گروه، معمولاً بیشترین زیان و کمترین سود را دارد.
۲) رباتهای هوش مصنوعی و جمعآوری محتوا
گروهی از خزندهها محتوا را برای آموزش مدل یا پاسخدهی جمع میکنند. تفاوت کلیدی آنها با گروه قبل این است که لزوماً ترافیک بازگشتی برای شما نمیسازند؛ پس تصمیم دربارهشان بیشتر تجاری است تا فنی. اگر محتوای شما خودش محصول است، محدودسازی مسیرها از طریق robots.txt را جدی بگیرید، اما بدانید این فایل یک درخواست محترمانه است، نه دیوار. برای محتوای پشت ورود یا دادههای سازمانی، ابزار واقعی، احراز هویت و کنترل دسترسی است، نه یک فایل متنی.
۳) رباتهای پایش و سلامتسنجی
سرویسهای پایش دسترسپذیری و کارایی، در بازههای منظم و با حجم کم به سایت سر میزنند و از چند نقطه جغرافیایی آزمایش میکنند. رفتارشان آرام و پیشبینیپذیر است. بهترین کار این است که یک مسیر سلامت سبک و بدون احراز هویت برایشان بسازید و همان مسیر را از محدودیت نرخ معاف کنید؛ در غیر این صورت، هشدارهای کاذب «سایت قطع شد» بخشی از روز شما را میخورد.
۴) رباتهای تجاری و اسکریپرها
موتورهای مقایسه قیمت، ابزارهای پایش آگهی رقیب و اسکریپرهای عمومی محتوا در این دستهاند. بخشی از این ترافیک برای شما ارزش دارد و بخشی فقط هزینه است. بهجای برخورد یکسان، ابتدا مشخص کنید کدامشان مشتری میآورند. برای آنها خوراک داده ساختاریافته یا API با سهمیه مشخص فراهم کنید و برای بقیه، محدودیت نرخ بگذارید. این کار هم هزینه سرور را پایین میآورد و هم مذاکره تجاری را از حالت «یا همه یا هیچ» بیرون میآورد.
۵) رباتهای مخرب
اسکنرهای جستوجوی آسیبپذیری، رباتهای حمله به فرم ورود با فهرست رمزهای رایج، ترافیک توزیعشده و اسپم فرمها در این دسته قرار میگیرند. اینجا هدف، حذف کامل نیست — عملاً ممکن نیست — بلکه کاهش اثر، کندکردن مهاجم و شناسایی سریع است. برای آشنایی با طبقهبندی تهدیدهای خودکار وب، منابع مرجع امنیت برنامههای وب نقطه شروع مناسبی است.
چطور در عمل یک ربات را تشخیص دهیم
هیچ سیگنال تکنفردی قطعی نیست؛ کار درست، ترکیب چند نشانه است:
- هدر User-Agent: ارزانترین و ضعیفترین نشانه. متنی آزاد است و جعلش یک خط کد بیشتر نمیخواهد؛ برای آمار و دستهبندی اولیه خوب است، برای تصمیم امنیتی نه.
- محدوده IP و DNS معکوس: نام دامنهای که از DNS معکوس برمیگردد باید واقعاً به همان سرویس مدعی تعلق داشته باشد. این بررسی، بیشتر جعلهای ساده را رد میکند.
- الگوی رفتاری: نرخ درخواست، فاصلههای زمانی بیش از اندازه منظم، ترتیب پیمایش صفحهها، و اینکه ربات برای خواندن یک صفحه، منابع جانبی مثل تصویر و فایل سبک را هم درخواست میکند یا فقط متن خام را میخواند.
- اثر انگشت پروتکل: نسخه رمزنگاری، ترتیب و ترکیب هدرها و رفتار در HTTP/2. جعل اینها بهمراتب سختتر از جعل یک رشته متنی است.
- واکنش به robots.txt: رباتی که مسیرهای ممنوعه را نادیده میگیرد، خودش سرنخ قویای درباره نیتش داده است.
چهار تصمیم برای سیاستگذاری رباتها
- مجازها را اعلام کنید: یک robots.txt روشن و یک نقشه سایت بهروز، هم مرزهای شما را مشخص میکند و هم کار کراولرهای مفید را سادهتر میکند.
- احراز اصالت را جدی بگیرید: پیش از هر اقدام، ادعای هویت ربات را با IP و DNS معکوس بسنجید؛ نه با نامی که خودش انتخاب کرده است.
- نرخ را محدود کنید، نه هویت را: بهجای مسدودسازی دائم، سهمیه درخواست در واحد زمان بگذارید و پاسخ مناسب همراه با زمان انتظار پیشنهادی برگردانید تا رباتهای سالم بتوانند آهستهتر ادامه دهند.
- مسیرهای حساس را جدا کنید: فرمهای ورود و ثبتنام، نقاط پایانی API و مسیرهای جستوجو بیشترین هدف رباتهای مخرباند؛ برایشان احراز هویت، آزمون انسانی و ثبت رخداد جداگانه در نظر بگیرید.
سه اشتباه پرتکرار هم ارزش شناختن دارد: مسدودکردن کل یک User-Agent بهخاطر چند ربات بدنام؛ مسدودکردن یک محدوده IP مشترک که کاربران واقعی را هم قطع میکند؛ و سختکردن یکسان همهچیز در واکنش به یک حمله، که نتیجهاش لطمه به دسترسی موتور جستوجو و کندشدن تجربه کاربران است.
جمعبندی
رباتها یک توده بیهدف نیستند؛ چند خانواده با نیتهای متفاوتاند. اگر پیش از نوشتن هر قاعده، هدف ربات و قابلیت احراز هویت آن را بسنجید، به چهار سیاست مشخص میرسید: تسهیل، محدودسازی، مذاکره و مسدودسازی. کراولرهای جستوجو را تسهیل کنید، با رباتهای هوش مصنوعی و اسکریپرها شفاف و سهمیهبندیشده برخورد کنید، به رباتهای پایش مسیر سبک بدهید و برای رباتهای مخرب، کاهش اثر و شناسایی سریع را جایگزین رویای حذف کامل کنید. همین چند تصمیم، هم سرور و هم دیدهشدن شما را نجات میدهد.