A教程:防SQL注入_.NET概论及软件使用_龙虎鹰师网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

A教程:防SQL注入

作者:龙虎鹰师网安ASP维护基地 来源:龙虎鹰师网安ASP维护基地 浏览次数:0

本篇关键词:注入教程 字符串
龙虎鹰师网安网讯:       防SQL 注入是一个系统工程,在项目开发中就要系统的考虑SQL 注入的问题。一般做到以下4点,能比较好的控制SQL 注入:严格验证用户的一切输入,包括URL参数。 将用户登录名称、密码等数...

       防SQL 注入是一个系统工程,在项目开发中就要系统的考虑SQL 注入的问题一般做到以下4点能比较好的控制SQL 注入:

严格验证用户的一切输入包括URL参数
将用户登录名称、密码等数据加密保存
不要用拼接字符串的方式来生成SQL语句,而是用SQL Parameters 传参数或者用存储过程来查询
严格验证上传文件的后缀,exe、aspx、asp等可执行程序禁止上传。
这里介绍一个简单通用的方法,用来验证字符串中是否有敏感字符,参数可以是一个字符串,也可以是一个字符串集合,敏感字符可以在Lawlesses数组中定义:

        public static string[] Lawlesses = { "=", "'" };
        /// <summary>
        /// 敏感字符检测
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public static bool CheckParams(params object[] args)
        {
            if (Lawlesses == null || Lawlesses.Length <= 0) return true;
            //构造正则表达式,例:Lawlesses是=号和'号,则正则表达式为 .*[=}'].*
            //另外,由于我是想做通用而且容易修改的函数,所以多了一步由字符数组到正则表达式,实际使用中,直接写正则表达式亦可;
            string str_Regex = ".*[";
            for (int i = 0; i < Lawlesses.Length - 1; i++)
            {
                str_Regex += Lawlesses[i] + "|";
            }
            str_Regex += Lawlesses[Lawlesses.Length - 1] + "].*";
            //
            foreach (object arg in args)
            {
                if (arg is string)//如果是字符串,直接检查
                {
                    if (Regex.Matches(arg.ToString(), str_Regex).Count > 0)
                        return false;
                }
                else if (arg is ICollection)//如果是一个集合,则检查集合内元素是否字符串,是字符串,就进行检查
                {
                    foreach (object obj in (ICollection)arg)
                    {
                        if (obj is string)
                        {
                            if (Regex.Matches(obj.ToString(), str_Regex).Count > 0)
                                return false;
                        }
                    }
                }
            }
            return true;
        }

    龙虎鹰师网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14032-1.html
网站维护教程更新时间:2012-03-30 05:24:49  【打印此页】  【关闭
全站连接N点 | 龙虎鹰师网安 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。龙虎鹰师网安服务器维护基地招商进行中!请QQ:29769479

footer  footer  互联网安全  footer