/// <summary>
        /// Init word
        /// </summary>
        public static void Init()
        {
            _filter = new BadWordsFilter();
            var cacheSet = new ShareCacheStruct <SensitiveWord>();

            cacheSet.Foreach((k, v) =>
            {
                _filter.AddKey(v.Word);
                return(true);
            });
        }
Exemple #2
0
        public void Test_Filter_Entries_With_Bad_Words()
        {
            var peter = new Contact("Peter");
            var jhon  = new Contact("John");
            var mary  = new Contact("Mary");

            var fb      = new SocialNetwork("facebook");
            var tw      = new SocialNetwork("twitter");
            var ins     = new SocialNetwork("instagram");
            var badTags = new List <string>()
            {
                "#deadCode", "#complexCode", "#copy-n-paste", "#shortCode"
            };

            var goodTags = new List <string>()
            {
                "#shortCode", "#simpleCode", "#2nestedLevelsMax"
            };

            IEnumerable <Entry> entries = new List <Entry>()
            {
                new Entry("a", "second dead code", peter, DateTime.Now.AddHours(-2), badTags, fb),
                new Entry("b", "third 2000LOC functions", jhon, DateTime.Now.AddHours(-3), badTags, tw),
                new Entry("c", "first Clean Code! Really?", mary, DateTime.Now.AddHours(-1), badTags, ins),
                new Entry("d", "first Clean Code!!!", mary, DateTime.Now.AddHours(-1), goodTags, ins)
            };

            SocialNetworkPullCollector returnAllCollector = new ReturnAllPullCollector(entries);
            EntriesFilter filter = new BadWordsFilter("nestedLoops,deadCode,copy-n-paste".Split(','));

            SocialNetworksHub hub = new CleanSocialNetworksHub();

            hub.AddCollector(returnAllCollector);
            hub.AddFilter(filter);

            DateTime            since      = DateTime.Now.AddHours(-4);
            IEnumerable <Entry> hubEntries = hub.GetEntriesSince(since);

            Assert.AreEqual(1, hubEntries.Count());
            var cleanEntry = hubEntries.First();

            Assert.AreEqual("first Clean Code!!!", cleanEntry.Text);
        }
Exemple #3
0
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        IPManager  manager   = new IPManager();//查看IP是否用得频繁
        string     IPAddress = manager.GetClientIPv4Address();
        XmlManager xmanager  = new XmlManager();
        int        ans       = xmanager.Editor(IPAddress);

        if (ans > 0)
        {
            if (ans == 1)
            {
                xmanager.Add(IPAddress);                             //如果没有这个IP,就加入记录

                BadWordsFilter badwordfilter = new BadWordsFilter(); //在此处对comment进行脏字处理
                //初始化关键字
                badwordfilter.Init();
                //检查是否有存在关键字
                bool a = badwordfilter.HasBadWord(textarea1.Value.Trim());

                if (a == false)
                {
                    string comment = textarea1.Value;

                    if (txtCode.Text == Session["CheckCode1"].ToString())
                    {
                        string time     = DateTime.Now.ToString();
                        string photoUrl = "images/p1.png";
                        //获取的对应图片信息
                        if (photoIndex.Text == "0")
                        {
                            photoUrl = "images/p1.png";
                        }
                        if (photoIndex.Text == "1")
                        {
                            photoUrl = "images/p2.png";
                        }
                        if (photoIndex.Text == "2")
                        {
                            photoUrl = "images/p3.png";
                        }
                        if (photoIndex.Text == "3")
                        {
                            photoUrl = "images/p4.png";
                        }
                        if (photoIndex.Text == "4")
                        {
                            photoUrl = "images/p5.png";
                        }
                        if (photoIndex.Text == "5")
                        {
                            photoUrl = "images/p6.png";
                        }
                        if (photoIndex.Text == "6")
                        {
                            photoUrl = "images/p7.png";
                        }
                        if (photoIndex.Text == "7")
                        {
                            photoUrl = "images/p8.png";
                        }
                        if (photoIndex.Text == "8")
                        {
                            photoUrl = "images/p9.png";
                        }
                        using (var db = new ITShowEntities())
                        {
                            Message message = new Message();

                            message.MessageContent = comment;

                            message.MessageTime = Convert.ToDateTime(time);

                            message.MessagePhoto = photoUrl;

                            db.Message.Add(message);

                            db.SaveChanges();

                            Response.Write("<script>alert('留言成功!');location='Comments.aspx'</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('验证码错误!');location='Comments.aspx'</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('留言中有不合法的内容')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('操作过于频繁,请10秒后再操作')</script>");
            }
        }
        else
        {
            Response.Write("<script>alert('操作失败请重试')</script>");
        }
    }
Exemple #4
0
        private bool FilterBadWords(string message)
        {
            BadWordsFilter filter = new BadWordsFilter(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "badworlds.txt"));

            return(filter.HasBadWord(message));
        }
 /// <summary>
 /// Init word
 /// </summary>
 public static void Init()
 {
     _filter = new BadWordsFilter(); 
     var cacheSet = new ShareCacheStruct<SensitiveWord>();
     cacheSet.Foreach((k, v) =>
     {
         _filter.AddKey(v.Word);
         return true;
     });
 }
 private SensitiveFilterManager()
 {
     badWorldFilter = new BadWordsFilter();
     loadFromConfig();
 }
 public SensitiveWordModel()
 {
     badWorldFilter = new BadWordsFilter();
 }