public void AddNewIp(int iD, string ipPurpose, bool status, string comment, string ipSourse = null, string webSite = null) { IpOrWebSite ipOrWebSite = null; if (ipSourse != null && ipSourse != "") { ipOrWebSite = new IpOrWebSite(); ipOrWebSite.ID = iD; ipOrWebSite.IpSourse = ipSourse; ipOrWebSite.IpPurpose = ipPurpose; ipOrWebSite.Status = status; ipOrWebSite.Comment = comment; ipOrWebSites.Add(ipOrWebSite); } if (webSite != null && webSite != "") { IPHostEntry entry = Dns.GetHostEntry(webSite.Replace("http://", "")); foreach (var addres in entry.AddressList) { ipOrWebSite = new IpOrWebSite(); ipOrWebSite.ID = iD; ipOrWebSite.IpSourse = addres.ToString(); ipOrWebSite.IpPurpose = ipPurpose; ipOrWebSite.Status = status; ipOrWebSite.Comment = comment; ipOrWebSites.Add(ipOrWebSite); } } File.WriteAllText("Ip.txt", JsonConvert.SerializeObject(ipOrWebSites)); }
public static void AddNewIp(string ipSourse) { IpOrWebSite ipOrWebSite = null; if (ipSourse != null && ipSourse != "") { ipOrWebSite = new IpOrWebSite(); ipOrWebSite.ID = new Random().Next(100, 10000); ipOrWebSite.IpSourse = ipSourse; ipOrWebSite.IpPurpose = ""; ipOrWebSite.Status = false; ipOrWebSite.Comment = "Many requests"; ipOrWebSites.Add(ipOrWebSite); } File.WriteAllText("Ip.txt", JsonConvert.SerializeObject(ipOrWebSites)); }
private void Process(object o) { string responseSt = ""; List <IpOrWebSite> ipOrWebSites = ManagerDAO.GetIpOrWebSites(); var context = o as HttpListenerContext; HttpListenerResponse response = context.Response; HttpListenerRequest request = context.Request; string ipReqvesr = request.RemoteEndPoint.Address.ToString(); IpOrWebSite ipOrWebSite = ipOrWebSites.FirstOrDefault(ip => ip.IpSourse == ipReqvesr); if (ipOrWebSite != null) { if (ipOrWebSite.Status) { responseSt = "Ok"; } else { responseSt = "Ban"; } } else { responseSt = "Ok"; IPChecked iPChecked = iPCheckeds.FirstOrDefault(ip => ip.Ip == ipReqvesr); if (iPChecked != null) { iPChecked.CountReqvest++; } else { TimerCallback tm = new TimerCallback(CheckIp); iPChecked = new IPChecked(); iPChecked.CountReqvest = 1; iPChecked.Ip = ipReqvesr; iPChecked.timer = new Timer(tm, iPChecked, 1000, Timeout.Infinite); iPCheckeds.Add(iPChecked); } } Loger.WriteLog("Info", "Process", DateTime.Now.ToLongDateString(), ipReqvesr, responseSt, "Reqvest"); byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseSt); response.ContentLength64 = buffer.Length; Stream output = response.OutputStream; output.Write(buffer, 0, buffer.Length); output.Close(); }