تشخیص بات یا سایر خزنده‌ها
اهمیت: عادی نوع: ارائه ایده و پیشنهاد شماره نگارش: ۱
ضمن تشکر از شما بابت به اشتراک گذاشتن پروژه، به نظرم تنها استفاده از context.Request.Browser.Crawler برای تشخیص اینکه آیا درخواست رسیده، خزنده هست یا خیر، کافی نیست. شاید بتوان در کنار و علاوه بر این کنترل، یک شرط دیگر هم به نحو زیر اضافه کرد و در نظر گرفت:
private static readonly List<string> KnownCrawlers = new List<string>
{
    "bot","crawler","baiduspider","80legs","ia_archiver","ahrefsBot","twitterbot",
    "yoozbot","yandexBot","bitlybot","other", "sogou web spider", "python requests",
    "voyager","curl","wget","yahoo! slurp","mediapartners-google", "mj12bot",
    "seznamBot", "Sogou web spider", "360Spider", "sogouwebspider"
};
public static bool IsBotOrCrawler(string agent)
{
    agent = agent.ToLower();
    return KnownCrawlers.Any(crawler => agent.Contains(crawler) || agent.Equals(crawler));
}
می‌توان به مرور، لیست خزنده‌ها را تکمیل کرد.
  • #
    ‫۷ سال و ۵ ماه قبل، پنجشنبه ۳۱ فروردین ۱۳۹۶، ساعت ۱۵:۴۳
    با تشکر
    پیشنهاد شما در پروژه لحاظ شد.
    اینجا
    و
    اینجا