Exemple #1
0
        public bool IsBlocked(string username)
        {
            LoginAttemptsRepository loginAttempts = new LoginAttemptsRepository();
            string userIp = loginAttempts.GetIP();

            bool usernameBlocked = false;
            bool ipBlocked       = false;

            if (loginAttempts.DoesUsernameAttemptExist(username) == true)
            {
                LoginAttempt l = loginAttempts.GetUsernameAttempt(username);
                if ((bool)l.Blocked)
                {
                    TimeSpan elapsed = DateTime.Now.Subtract((DateTime)l.Time);
                    usernameBlocked = (elapsed.Minutes >= 15) ? false : true;
                    if (usernameBlocked == false)
                    {
                        loginAttempts.DeleteUsernameAttempt(l);
                    }
                }
            }
            if (loginAttempts.DoesIpAttemptExist(userIp) == true)
            {
                IpAttempt i = loginAttempts.GetIpAttempt(userIp);
                if ((bool)i.Blocked)
                {
                    TimeSpan elapsed = DateTime.Now.Subtract((DateTime)i.Time);
                    ipBlocked = (elapsed.Minutes >= 15) ? false : true;
                    if (ipBlocked == false)
                    {
                        loginAttempts.DeleteIpAttempt(i);
                    }
                }
            }
            return(usernameBlocked || ipBlocked);
        }