public void Check_For_Bot_Test()
        {
            var botScoutCheck      = new BotScout().IsBot("84.16.230.111", "*****@*****.**", "someone", out _);
            var stopForumSpamCheck = new StopForumSpam().IsBot(
                "84.16.230.111",
                "*****@*****.**",
                "someone",
                out _);

            Assert.IsTrue(botScoutCheck | stopForumSpamCheck, "This should be a Bot");
        }
Beispiel #2
0
        /// <summary>
        /// Check a User (Bot) against the StopForumSpam, BotScout Service or both
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        /// <param name="emailAddress">The email address.</param>
        /// <param name="ipAddress">The ip address.</param>
        /// <param name="result">The result.</param>
        /// <returns>
        /// Returns if Post is SPAM or not
        /// </returns>
        public bool CheckUserForSpamBot([NotNull] string userName, [CanBeNull] string emailAddress, [NotNull] string ipAddress, out string result)
        {
            result = string.Empty;

            if (YafContext.Current.Get <YafBoardSettings>().BotSpamServiceType.Equals(0))
            {
                return(false);
            }

            switch (YafContext.Current.Get <YafBoardSettings>().BotSpamServiceType)
            {
            case 1:
            {
                var stopForumSpam = new StopForumSpam();

                return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }

            case 2:
            {
                if (YafContext.Current.Get <YafBoardSettings>().BotScoutApiKey.IsSet())
                {
                    var botScout = new BotScout();

                    return(botScout.IsBot(ipAddress, emailAddress, userName, out result));
                }

                // use StopForumSpam instead
                var stopForumSpam = new StopForumSpam();

                return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }

            case 3:
            {
                // use StopForumSpam instead
                var stopForumSpam = new StopForumSpam();

                if (!YafContext.Current.Get <YafBoardSettings>().BotScoutApiKey.IsSet())
                {
                    return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
                }

                var botScout = new BotScout();

                return(botScout.IsBot(ipAddress, emailAddress, userName) &&
                       stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }
            }

            return(false);
        }
Beispiel #3
0
        /// <summary>
        /// Check a User (Bot) against the StopForumSpam, BotScout Service or both
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        /// <param name="emailAddress">The email address.</param>
        /// <param name="ipAddress">The IP address.</param>
        /// <param name="result">The result.</param>
        /// <returns>
        /// Returns if Post is SPAM or not
        /// </returns>
        public bool CheckUserForSpamBot([NotNull] string userName, [CanBeNull] string emailAddress, [NotNull] string ipAddress, out string result)
        {
            // Check internal
            var internalCheck = new InternalCheck();

            var isInternalFoundBot = internalCheck.IsBot(ipAddress, emailAddress, userName, out result);

            if (isInternalFoundBot)
            {
                return(true);
            }

            if (BoardContext.Current.Get <BoardSettings>().BotSpamServiceType.Equals(0))
            {
                return(false);
            }

            switch (BoardContext.Current.Get <BoardSettings>().BotSpamServiceType)
            {
            case 1:
            {
                var stopForumSpam = new StopForumSpam();

                return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }

            case 2:
            {
                if (BoardContext.Current.Get <BoardSettings>().BotScoutApiKey.IsSet())
                {
                    var botScout = new BotScout();

                    return(botScout.IsBot(ipAddress, emailAddress, userName, out result));
                }

                // use StopForumSpam instead
                var stopForumSpam = new StopForumSpam();

                return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }

            case 3:
            {
                // use StopForumSpam instead
                var stopForumSpam = new StopForumSpam();

                if (!BoardContext.Current.Get <BoardSettings>().BotScoutApiKey.IsSet())
                {
                    return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
                }

                var botScout = new BotScout();

                return(botScout.IsBot(ipAddress, emailAddress, userName) &&
                       stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }

            case 4:
            {
                // use StopForumSpam instead
                var stopForumSpam = new StopForumSpam();

                if (!BoardContext.Current.Get <BoardSettings>().BotScoutApiKey.IsSet())
                {
                    return(stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
                }

                var botScout = new BotScout();

                return(botScout.IsBot(ipAddress, emailAddress, userName)
                       | stopForumSpam.IsBot(ipAddress, emailAddress, userName, out result));
            }
            }

            return(false);
        }