最近几天,网站打开速度慢,通过多方研究发现,在IIS日志里发现,有一些IP在短时间内访问很大,估计是被黑客恶意点击,从而使网站打开速度非常慢。
所以请大家帮帮忙,有什么办法?我想到的办法是:写程序过滤IP地址,但IP是变化的,不能彻底解决问题。

解决方案 »

  1.   

    Asp.net2.0 中自定义过滤器对Response内容进行处理
    该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=29122
    asp中对ip进行过滤限制函数  可以参考
    该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=9457IP及IP段进行访问限制的代码 PHP可以参考
    该文章转载自德仔工作室:http://www.dezai.cn/Article_Show.asp?ArticleID=30852Asp.net的IP地址屏蔽功能设计
    该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=29656
      

  2.   


        public string safety(string sql)
        {
            sql = sql.Trim();
            sql = sql.Replace("<", "");
            sql = sql.Replace(">", "");
            sql = sql.Replace(" ", "");
            sql = sql.Replace("*", "");
            sql = sql.Replace("'", "");
            sql = sql.Replace("%", "");
            sql = sql.Replace("or", "");
            sql = sql.Replace("=", "");
            //.........
            return sql;
        }
     /// <summary>
            /// 过滤SQL语句,防止注入
            /// </summary>
            /// <param name="strSql"></param>
            /// <returns>0 - 没有注入, 1 - 有注入 </returns>
            public static int filterSql(string sSql)
            {
                int srcLen, decLen = 0;
                sSql = sSql.ToLower().Trim();
                srcLen = sSql.Length;
                sSql = sSql.Replace("exec ", "");
                sSql = sSql.Replace("drop ", "");
                sSql = sSql.Replace("master ", "");
                sSql = sSql.Replace("truncate ", "");
                sSql = sSql.Replace("declare ", "");
                sSql = sSql.Replace("create ", "");
                sSql = sSql.Replace("xp_", "no");
                sSql = sSql.Replace("net user", "");
                sSql = sSql.Replace("xp_cmdshell", "");
                sSql = sSql.Replace("net localgroup administrators", "");
                sSql = sSql.Replace("master.dbo.xp_cmdshell", "");
                sSql = sSql.Replace("/add", "");
                decLen = sSql.Length;
                if (srcLen == decLen) return 0; else return 1;
            }数据库语句建议用参数化,  存储过程等.  千万不要拼接,,,否则...