李嘉 收藏代码 ① - ASP.NET中格式化字符串,符合SQL语句解决SQL注入问题函数收藏

SQL攻击(SQL injection),简称隐码攻击,是发生于应用程式之资料库层的安全漏洞。简而言之,是在输入的字串之中夹带SQL指令,在设计不良的程式当中忽略了检查,那么这些夹带进去的指令就会被资料库伺服器误认为是正常的SQL指令而执行,因此遭到破坏。所以我们在C#中操作SQL语句时需要注意如何来格式化SQL语句符合防注入规则,这些都在以下函数中得以体现:

       #region 格式化字符串,符合SQL语句
        /// <summary>
        /// 格式化字符串,符合SQL语句
        /// </summary>
        /// <param name="formatStr">需要格式化的字符串</param>
        /// <returns>字符串</returns>

        public static string inSQL(string formatStr)
        {
            string rStr = formatStr;
            if (formatStr != null && formatStr != string.Empty)
            {
                rStr = rStr.Replace("'", "''");
                rStr = rStr.Replace(""", """");
            }
            return rStr;
        }
        /// <summary>
        /// 格式化字符串,是inSQL的反向
        /// </summary>
        /// <param name="formatStr"></param>
        /// <returns></returns>
        public static string outSQL(string formatStr)
        {
            string rStr = formatStr;
            if (rStr != null)
            {
                rStr = rStr.Replace("''", "'");
                rStr = rStr.Replace("""", """);
            }
            return rStr;
        }

        /// <summary>
        /// 查询SQL语句,删除一些SQL注入问题
        /// </summary>
        /// <param name="formatStr">需
要格式化的字符串</param>
        /// <returns></returns>
        public static string querySQL(string formatStr)
        {
            string rStr = formatStr;
            if (rStr != null && rStr != "")
            {
                rStr = rStr.Replace("'", "");
            }
            return rStr;
        }
        #endregion

引用通告地址: 点击获取引用地址
标签: .NET C#
评论: 0 | 引用: 0 | 阅读: 789 | 打印 | 打包 | 转发
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容:
  • 粗体
  • 斜体
  • 下划线
  • 插入图像
  • 超链接
  • 电子邮件
  • 插入引用