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"); }
/// <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); }
/// <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); }