Ejemplo n.º 1
0
 public JsonResult Domain(string host, BruteForceType bruteForceType, Protection Protect, TypeBlockIP typeBlockIP = TypeBlockIP.global, string auth2faToPasswd = null)
 {
     return(new RequestsFilterToDomainBaseController().Save(new Domain()
     {
         host = host,
         Protect = Protect,
         typeBlockIP = typeBlockIP,
         StopBruteForce = bruteForceType,
         Auth2faToPasswd = auth2faToPasswd
     }));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Попытка авторизации или авторизация выполнена
        /// </summary>
        /// <param name="bruteForceType">CMS для защиты от Brute Force</param>
        /// <param name="method">Метод запроса "POST/GET"</param>
        /// <param name="uri">url запроса</param>
        /// <param name="FormData">Данные POST запроса</param>
        public static bool IsLogin(BruteForceType bruteForceType, string method, string uri, string FormData)
        {
            RequestMethod Method = method == "POST" ? RequestMethod.POST : RequestMethod.GET;

            // Правила только для POST запросов
            if (Method != RequestMethod.POST)
            {
                return(false);
            }

            // Переводим в нижний регистр
            uri = uri.ToLower();

            // Проверяем
            switch (bruteForceType)
            {
            case BruteForceType.DLE:
                return(FormData.Contains("login=submit") && FormData.Contains("login_name=") && FormData.Contains("login_password="******"^/index.php\?route=(account/login|checkout/login/save)$"));

            case BruteForceType.WordPress:
            {
                if (uri.Contains("/wp-login.php") || (uri.Contains("/wp-admin/admin-ajax.php") && FormData.Contains("username="******"password=")))
                {
                    return(true);
                }

                return(false);
            }

            default:
                return(false);
            }
        }