Example #1
0
        public bool IsBanned(SpiderType spiderType)
        {
            bool[] bannedSpiders = m_BannedSpiders;

            if (bannedSpiders == null)
            {
                StringList bannedNames = m_BannedNames;

                FieldInfo[] fields = typeof(SpiderType).GetFields();

                bannedSpiders = new bool[fields.Length - 1];

                int i = 0;
                foreach (FieldInfo field in fields)
                {
                    if (i != 0)
                    {
                        if (bannedNames != null && bannedNames.Contains(field.Name))
                        {
                            bannedSpiders[i - 1] = true;
                        }
                        else
                        {
                            bannedSpiders[i - 1] = false;
                        }
                    }
                    i++;
                }

                m_BannedSpiders = bannedSpiders;
            }

            return(bannedSpiders[(int)spiderType]);
        }
Example #2
0
        public bool IsBanned(SpiderType spiderType)
        {
            bool[] bannedSpiders = m_BannedSpiders;

            if (bannedSpiders == null)
            {
                StringList bannedNames = m_BannedNames;

                FieldInfo[] fields = typeof(SpiderType).GetFields();

                bannedSpiders = new bool[fields.Length - 1];

                int i = 0;
                foreach (FieldInfo field in fields)
                {
                    if (i != 0)
                    {
                        if (bannedNames != null && bannedNames.Contains(field.Name))
                            bannedSpiders[i - 1] = true;
                        else
                            bannedSpiders[i - 1] = false;
                    }
                    i++;
                }

                m_BannedSpiders = bannedSpiders;
            }

            return bannedSpiders[(int)spiderType];
        }
Example #3
0
        /// <summary>
        /// 获得操作系统名称(及版本号)
        /// </summary>
        /// <param name="request"></param>
        /// <param name="isSpider"></param>
        /// <returns></returns>
        public static string GetPlatformName(HttpRequest request, out SpiderType spiderType)
        {
            spiderType = SpiderType.Other;
            string userAgent = request.UserAgent;

            if (string.IsNullOrEmpty(userAgent))
                return "Unknown";

            else if (userAgent.IndexOf("Windows NT 6.1") != -1)
                return "Windows 7";

            else if (userAgent.IndexOf("Windows NT 6") != -1)
                return "Windows Vista";

            else if (userAgent.IndexOf("Windows NT 5.1") != -1)
                return "Windows XP";

            else if (userAgent.IndexOf("Windows NT 5.2") != -1)
                return "Windows Server 2003";

            else if (userAgent.IndexOf("Windows NT 5") != -1)
                return "Windows 2000";

            else if (userAgent.IndexOf("iPhone") != -1)
                return "iPhone";

            else if (userAgent.IndexOf("(iPad;") != -1)
                return "iPad";

            else if (userAgent.IndexOf("Android") != -1)
                return "Android";

            else if (userAgent.IndexOf("9x") != -1)
                return "Windows ME";

            else if (userAgent.IndexOf("98") != -1)
                return "Windows 98";

            else if (userAgent.IndexOf("95") != -1)
                return "Windows 95";

            else if (userAgent.IndexOf("NT 4") != -1)
                return "Windows NT 4";

            spiderType = GetSpiderName(userAgent);
            if (spiderType != SpiderType.Other)
            {
                return spiderType.ToString();
            }

            if (request.Browser != null && !string.IsNullOrEmpty(request.Browser.Platform))
                return request.Browser.Platform.Replace("WinCE", "Windows CE");
            else
                return "Unknown";

        }
Example #4
0
 private void btnCustomSpider_Click(object sender, EventArgs e)
 {
     if (_customCatch == null)
     {
         _customCatch      = new CustomCatch(this);
         _customCatch.Dock = DockStyle.Fill;
     }
     AttachControl = _customCatch;
     _spiderType   = CustomSpider.SpiderType.CustiomCatch;
 }
Example #5
0
 private void btnBaiduImage_Click(object sender, EventArgs e)
 {
     if (_baiduBitmap == null)
     {
         _baiduBitmap      = new BaiduBitmap();
         _baiduBitmap.Dock = DockStyle.Fill;
     }
     AttachControl = _baiduBitmap;
     _spiderType   = CustomSpider.SpiderType.BaiduBitmap;
 }
 protected bool IsSpiderBanned(SpiderType spiderType)
 {
     return AllSettings.Current.ShieldSpiderSettings.BannedSpiders.IsBanned(spiderType);
 }
Example #7
0
        /// <summary>
        /// 获得操作系统名称(及版本号)
        /// </summary>
        /// <param name="request"></param>
        /// <param name="isSpider"></param>
        /// <returns></returns>
        public static string GetPlatformName(HttpRequest request, out SpiderType spiderType)
        {
            spiderType = SpiderType.Other;
            string userAgent = request.UserAgent;

            if (string.IsNullOrEmpty(userAgent))
            {
                return("Unknown");
            }

            else if (userAgent.IndexOf("Windows NT 6.1") != -1)
            {
                return("Windows 7");
            }

            else if (userAgent.IndexOf("Windows NT 6") != -1)
            {
                return("Windows Vista");
            }

            else if (userAgent.IndexOf("Windows NT 5.1") != -1)
            {
                return("Windows XP");
            }

            else if (userAgent.IndexOf("Windows NT 5.2") != -1)
            {
                return("Windows Server 2003");
            }

            else if (userAgent.IndexOf("Windows NT 5") != -1)
            {
                return("Windows 2000");
            }

            else if (userAgent.IndexOf("iPhone") != -1)
            {
                return("iPhone");
            }

            else if (userAgent.IndexOf("(iPad;") != -1)
            {
                return("iPad");
            }

            else if (userAgent.IndexOf("Android") != -1)
            {
                return("Android");
            }

            else if (userAgent.IndexOf("9x") != -1)
            {
                return("Windows ME");
            }

            else if (userAgent.IndexOf("98") != -1)
            {
                return("Windows 98");
            }

            else if (userAgent.IndexOf("95") != -1)
            {
                return("Windows 95");
            }

            else if (userAgent.IndexOf("NT 4") != -1)
            {
                return("Windows NT 4");
            }

            spiderType = GetSpiderName(userAgent);
            if (spiderType != SpiderType.Other)
            {
                return(spiderType.ToString());
            }

            if (request.Browser != null && !string.IsNullOrEmpty(request.Browser.Platform))
            {
                return(request.Browser.Platform.Replace("WinCE", "Windows CE"));
            }
            else
            {
                return("Unknown");
            }
        }
Example #8
0
 protected bool IsSpiderBanned(SpiderType spiderType)
 {
     return(AllSettings.Current.ShieldSpiderSettings.BannedSpiders.IsBanned(spiderType));
 }