public bool AddBlackListItem(BlackListItem blackListItem)
        {
            lock (LockObject)
            {
                const string insertQueryFormat =
                    "INSERT INTO vehicle_blacklist(vehiclenumber,entrydatetime) VALUES(@number, @time)";
                try
                {
                    if (this.Open())
                    {
                        var mySqlCommand = this.connection.CreateCommand();

                        mySqlCommand.CommandText = insertQueryFormat;
                        mySqlCommand.Parameters.AddWithValue("@number", blackListItem.VehicleNumber);
                        mySqlCommand.Parameters.AddWithValue("@time", DateTime.Now.ConvertToMySqlFormat());

                        mySqlCommand.ExecuteNonQuery();

                        return true;
                    }
                    return false;
                }
                catch (Exception ex)
                {
                    Logger.Error("Add Blacklist Item Failed..", ex);
                    return false;
                }
            }
        }
Example #2
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            Response.ContentType = "text/plain";
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Charset = "utf-8";
            HttpContext.Current.Response.AddHeader("Content-Type", "application/octet-stream");
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" + ListType + "List.txt");
            StringBuilder body = new StringBuilder();

            if (ListType == "White")
            {
                foreach (WhiteListItem wli in WhiteListItem.List(""))
                {
                    body.AppendLine(wli.From);
                }
            }
            if (ListType == "Black")
            {
                foreach (BlackListItem bli in BlackListItem.List(""))
                {
                    body.AppendLine(bli.From);
                }
            }
            HttpContext.Current.Response.Write(body);
            HttpContext.Current.Response.End();
        }
Example #3
0
        private void dg_DeleteCommand(object source, DataGridCommandEventArgs e)
        {
            int Id = int.Parse(e.CommandArgument.ToString());

            BlackListItem.Delete(Id);
            Response.Redirect("~/Admin/EMailBlackList.aspx");
        }
Example #4
0
        public List <BlackListItem> GetAll()
        {
            const string SQL_STATEMENT =
                "SELECT * FROM BlackList;";

            using (SqliteConnection con = new SqliteConnection(base.CacheConnectionString))
                using (SqliteCommand cmd = new SqliteCommand(SQL_STATEMENT, con))
                {
                    var result = new List <BlackListItem>();

                    cmd.Connection.Open();
                    using (SqliteDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            var item = new BlackListItem();
                            item.Id        = GetDataValue <long>(dr, "Id");
                            item.Address   = GetDataValue <string>(dr, "Address");
                            item.Timestamp = GetDataValue <long>(dr, "Timestamp");
                            item.Expired   = GetDataValue <long?>(dr, "Expired");

                            result.Add(item);
                        }
                    }

                    return(result);
                }
        }
Example #5
0
 private void btnAdd_Click(object sender, EventArgs e)
 {
     if (txtAdd.Text != "")
     {
         BlackListItem.Create(txtAdd.Text);
         Response.Redirect(this.Page.ResolveUrl("~/Admin/EMailBlackList.aspx"));
     }
 }
Example #6
0
        private void lbDeleteChecked_Click(object sender, EventArgs e)
        {
            string    sIds  = hidForDelete.Value;
            ArrayList alIds = new ArrayList();

            while (sIds.Length > 0)
            {
                string sId = sIds.Substring(0, sIds.IndexOf(","));
                alIds.Add(int.Parse(sId));
                sIds = sIds.Remove(0, sIds.IndexOf(",") + 1);
            }
            BlackListItem.Delete(alIds);
            Response.Redirect("~/Admin/EMailBlackList.aspx");
        }
Example #7
0
        public void Save(string address, long?expired)
        {
            var item = BlackList.FirstOrDefault(x => x.Address.Equals(address));

            if (item != null && expired.HasValue)
            {
                item.Expired = expired.Value;
            }
            else
            {
                var blackListItem = new BlackListItem();
                blackListItem.Address   = address;
                blackListItem.Expired   = expired.HasValue ? expired.Value : 0;
                blackListItem.Timestamp = Time.EpochTime;
                BlackList.Add(blackListItem);
            }
            Update();
        }
Example #8
0
        private void btnSave_ServerClick(object sender, EventArgs e)
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }

            if (mcImportFile.PostedFile != null && mcImportFile.PostedFile.ContentLength > 0)
            {
                string sText = string.Empty;
                using (StreamReader _reader = new StreamReader(mcImportFile.PostedFile.InputStream))
                {
                    sText = _reader.ReadToEnd();
                }

                string regex = "([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\\w]*[0-9a-zA-Z])*\\.)+[a-zA-Z]" +
                               "{2,9})";
                System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline)
                                                                       | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);

                foreach (Match item in reg.Matches(sText))
                {
                    if (ListType == "Black" && !BlackListItem.Contains(item.Value))
                    {
                        BlackListItem.Create(item.Value);
                    }
                    if (ListType == "White" && !WhiteListItem.Contains(item.Value))
                    {
                        WhiteListItem.Create(item.Value);
                    }
                }
            }
            Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(),
                                                    "try {window.opener.location.href=window.opener.location.href;}" +
                                                    "catch (e){} window.close();", true);
        }
Example #9
0
        public async Task OnActionExecutionAsync(ActionExecutingContext httpcontext, ActionExecutionDelegate next)
        {
            IPAddress ipAddress = httpcontext.HttpContext.Request.HttpContext.Connection.RemoteIpAddress;
            string    ip        = ipAddress.ToString();

            Console.WriteLine("\n\n\n\n--->from ip " + ipAddress);

            OrleanService orlean = await OrleanService.GetInstance();

            IRateLimit grain = orlean.GetRateLimit(ip);
            bool       isOk  = await grain.CheckRateLimit();

            if (!isOk)
            {
                BlackListItem item = await context.BlackLists.FindAsync(ip);

                if (item == null)
                {
                    item = new BlackListItem(ip);
                    context.BlackLists.Add(item);
                }
                else
                {
                    long unixTime = (long)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
                    item.LastTime = unixTime;
                    context.BlackLists.Update(item);
                }
                await context.SaveChangesAsync();

                httpcontext.HttpContext.Response.StatusCode = 429;
                httpcontext.Result = new EmptyResult();
            }
            else
            {
                await next();
            }
        }
Example #10
0
 public void AddBlackListItem(BlackListItem blackListItem)
 {
     this._databaseProvider.AddBlackListItem(blackListItem);
 }
 public bool AddBlackListItem(BlackListItem blackListItem)
 {
     this.BlackListItems.Add(blackListItem);
     return true;
 }
Example #12
0
        private void BindDataGrid()
        {
            int i = 1;

            dgBlackList.Columns[i++].HeaderText = "ID";
            dgBlackList.Columns[i++].HeaderText = LocRM.GetString("tAddress");

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("Id", typeof(int)));
            dt.Columns.Add(new DataColumn("Address", typeof(string)));

            DataRow dr;
            string  sSearch = txtSearch.Text;

            foreach (BlackListItem bi in BlackListItem.List(sSearch))
            {
                dr            = dt.NewRow();
                dr["Id"]      = bi.Id;
                dr["Address"] = bi.From;
                dt.Rows.Add(dr);
            }
            DataView dv = dt.DefaultView;

            dv.Sort = "Address";

            dgBlackList.DataSource = dv;

            if (pc["emr_BL_PageSize"] != null)
            {
                dgBlackList.PageSize = int.Parse(pc["emr_BL_PageSize"].ToString());
            }

            if (pc["emr_BL_Page"] != null)
            {
                int iPageIndex = int.Parse(pc["emr_BL_Page"].ToString());
                int ppi        = dv.Count / dgBlackList.PageSize;
                if (dv.Count % dgBlackList.PageSize == 0)
                {
                    ppi = ppi - 1;
                }
                if (iPageIndex <= ppi)
                {
                    dgBlackList.CurrentPageIndex = iPageIndex;
                }
                else
                {
                    dgBlackList.CurrentPageIndex = 0;
                }
            }
            dgBlackList.DataBind();

            foreach (DataGridItem dgi in dgBlackList.Items)
            {
                ImageButton ib = (ImageButton)dgi.FindControl("ibDelete");
                if (ib != null)
                {
                    ib.Attributes.Add("title", LocRM.GetString("tDelete"));
                    ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("tWarning2") + "')");
                }
            }
        }