private void grdBannedIPAddresses_RowUpdating(object sender, GridViewUpdateEventArgs e) { var grid = (GridView)sender; var rowID = (int)grid.DataKeys[e.RowIndex].Value; var txtBannedIP = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedIP"); var txtBannedUTC = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedUTC"); var txtBannedReason = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedReason"); var bannedIPAddress = new BannedIPAddress(rowID) { BannedIP = txtBannedIP.Text }; DateTime.TryParse(txtBannedUTC.Text, out DateTime bannedTime); if (timeZone != null) { bannedTime = bannedTime.ToUtc(timeZone); } bannedIPAddress.BannedUtc = bannedTime; bannedIPAddress.BannedReason = txtBannedReason.Text; bannedIPAddress.Save(); WebUtils.SetupRedirect(this, Request.RawUrl); }
void grdBannedIPAddresses_RowUpdating(object sender, GridViewUpdateEventArgs e) { GridView grid = (GridView)sender; int rowID = (int)grid.DataKeys[e.RowIndex].Value; TextBox txtBannedIP = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedIP"); TextBox txtBannedUTC = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedUTC"); TextBox txtBannedReason = (TextBox)grid.Rows[e.RowIndex].Cells[1].FindControl("txtBannedReason"); BannedIPAddress bannedIPAddress = new BannedIPAddress(rowID); bannedIPAddress.BannedIP = txtBannedIP.Text; DateTime bannedTime = DateTime.UtcNow; DateTime.TryParse(txtBannedUTC.Text, out bannedTime); if (timeZone != null) { bannedTime = bannedTime.ToUtc(timeZone); } bannedIPAddress.BannedUtc = bannedTime; bannedIPAddress.BannedReason = txtBannedReason.Text; bannedIPAddress.Save(); //String pathToCacheDependencyFile // = HttpContext.Current.Server.MapPath( // "~/Data/bannedipcachedependency.config"); //CacheHelper.TouchCacheFile(pathToCacheDependencyFile); WebUtils.SetupRedirect(this, Request.RawUrl); }
private static void HandleSpam(string queryText, Exception ex) { bool autoBanSpamBots = ConfigHelper.GetBoolProperty("AutoBanSpambotsOnSearchErrors", false); if ((autoBanSpamBots) && (IsSpam(queryText))) { if ((HttpContext.Current != null) && (HttpContext.Current.Request != null)) { BannedIPAddress b = new BannedIPAddress(); b.BannedIP = HttpContext.Current.Request.UserHostAddress; b.BannedReason = "spambot autodetected"; b.BannedUtc = DateTime.UtcNow; b.Save(); String pathToCacheDependencyFile = HttpContext.Current.Server.MapPath( "~/Data/bannedipcachedependency.config"); CacheHelper.TouchCacheFile(pathToCacheDependencyFile); //log.Error(queryText, ex); log.Info("spambot detected, ip address has been banned: " + HttpContext.Current.Request.UserHostAddress); } } else { //log.Error(queryText, ex); log.Info("spambot possibly detected, ip address was: " + HttpContext.Current.Request.UserHostAddress); } }
private void AddIPToBanList(HttpContext context, string reason) { string ip = SiteUtils.GetIP4Address(); if (IsBanned(ip)) { return; //already banned } BannedIPAddress ipToBan = new BannedIPAddress(); ipToBan.BannedIP = ip; ipToBan.BannedUtc = DateTime.UtcNow; ipToBan.BannedReason = reason; ipToBan.Save(); String pathToCacheDependencyFile = HttpContext.Current.Server.MapPath( "~/Data/bannedipcachedependency.config"); CacheHelper.TouchCacheFile(pathToCacheDependencyFile); log.Info("BannedIPBlockingHttpModule banned ip address " + ip + " for reason: " + reason); }