public static void AddAttemption(string IP) { for (int i = 0; i < LoginAttemptions.Count; i++) { LoginAttemptions attemptions = LoginAttemptions[i]; if (attemptions.IP == IP) { if ((DateTime.Now - attemptions.LastAttemption).TotalHours > 24) { LoginAttemptions[i].Attemptions = 1; LoginAttemptions[i].LastAttemption = DateTime.Now; SaveLoginAttemptions(); return; } else { LoginAttemptions[i].Attemptions++; LoginAttemptions[i].LastAttemption = DateTime.Now; SaveLoginAttemptions(); return; } } } LoginAttemptions.Add(new LoginAttemptions(IP, DateTime.Now, 1)); SaveLoginAttemptions(); }
public static void AntiBruteForceLoader() { if (!File.Exists("Unturned_Data/Managed/mods/UnturnedNetworkAPI/LoginAttempts.log")) { File.WriteAllText("Unturned_Data/Managed/mods/UnturnedNetworkAPI/LoginAttempts.log", String.Empty); return; } string[] lines = File.ReadAllLines("Unturned_Data/Managed/mods/UnturnedNetworkAPI/LoginAttempts.log"); foreach (string line in lines) { try { string IP = line.Split('=')[0]; DateTime lastAttemptionTime = DateTime.Parse(line.Split('=')[1]); int AttemptionsCount = int.Parse(line.Split('=')[2]); LoginAttemptions.Add(new LoginAttemptions(IP, lastAttemptionTime, AttemptionsCount)); } catch { } } }