protected void BlockCustomerIP_Click(object sender, ImageClickEventArgs e) { BannedIP block = new BannedIP(); block.IPRangeStart = BannedIP.ConvertToNumber(_order.RemoteIP); block.IPRangeEnd = block.IPRangeStart; block.Comment = "Order #" + _order.OrderNumber.ToString(); block.Save(); }
private bool IsBannedIP(string ip) { try { string BannedIPsFileName = StringUtils.PathCombine(ProcessUtils.StartupPath, "config", "banned-ips.txt"); if (File.Exists(BannedIPsFileName)) { string[] ConnectionOctets = ip.Split('.'); if (ConnectionOctets.Length == 4) { string[] BannedIPs = FileUtils.FileReadAllLines(BannedIPsFileName); foreach (string BannedIP in BannedIPs) { if (BannedIP.StartsWith(";")) { continue; } string[] BannedOctets = BannedIP.Split('.'); if (BannedOctets.Length == 4) { bool Match = true; for (int i = 0; i < 4; i++) { if ((BannedOctets[i] == "*") || (BannedOctets[i] == ConnectionOctets[i])) { // We still have a match continue; } else { // No longer have a match Match = false; break; } } // If we still have a match after the loop, it's a banned IP if (Match) { return(true); } } } } } } catch (Exception ex) { RaiseExceptionEvent("Unable to validate client IP against banned-ips.txt", ex); } // If we get here, it's an OK IP return(false); }
public bool CreateBannedIP(BannedIP bannedIP) { outpostwarsEntities entities = new outpostwarsEntities(); try { // Add tew New Player into the player Collection entities.BannedIPs.Add(bannedIP); // Save changes return(entities.SaveChanges() == 1); } catch (DbEntityValidationException ex) { LogCriticalError(ex); } return(false); }
public static BannedIP CreateBannedIP(int id) { BannedIP bannedIP = new BannedIP(); bannedIP.ID = id; return bannedIP; }
public void AddToBannedIP(BannedIP bannedIP) { base.AddObject("BannedIP", bannedIP); }
protected void AddButton_Click(object sender, EventArgs e) { //validate start range string startIP = AddIPRangeStart.Text; if (!Regex.IsMatch(startIP, "^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$")) { CustomValidator invalidIP = new CustomValidator(); invalidIP.IsValid = false; invalidIP.Text = "*"; invalidIP.ErrorMessage = "Start IP is not valid."; AddIPRangeStart.Parent.Controls.Add(invalidIP); return; } //validate end range string endIP = AddIPRangeEnd.Text; if (string.IsNullOrEmpty(endIP)) { endIP = startIP; } if (!Regex.IsMatch(endIP, "^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$")) { CustomValidator invalidIP = new CustomValidator(); invalidIP.IsValid = false; invalidIP.Text = "*"; invalidIP.ErrorMessage = "EndIP is not valid."; AddIPRangeEnd.Parent.Controls.Add(invalidIP); return; } BannedIP block = new BannedIP(); block.IPRangeStart = BannedIP.ConvertToNumber(startIP); block.IPRangeEnd = BannedIP.ConvertToNumber(endIP); //VALIDATE NUMBERS ARE IN CORRECT ORDER, SWAP IF NEEDED if (block.IPRangeStart > block.IPRangeEnd) { long temp = block.IPRangeStart; block.IPRangeStart = block.IPRangeEnd; block.IPRangeEnd = temp; } //VALIDATE MY IP ISNT IN RANGE if (block.IsInRange(Request.UserHostAddress)) { CustomValidator invalidIP = new CustomValidator(); invalidIP.IsValid = false; invalidIP.Text = "*"; invalidIP.ErrorMessage = "You cannot block a range that includes your own IP!"; AddIPRangeStart.Parent.Controls.Add(invalidIP); return; } //SAVE RANGE block.Comment = AddComment.Text; block.Save(); //RESET FORM AddedMessage.Visible = true; AddIPRangeStart.Text = string.Empty; AddIPRangeEnd.Text = string.Empty; AddComment.Text = string.Empty; //REBIND GRID BannedIPGrid.DataBind(); GridAjax.Update(); }