• SQL 注入 处理


    SqlHelper.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    public static class SqlHelper
    {
        /// <summary>
        /// 替换SQL特殊字符
        /// </summary>
        /// <param name="obj">需序转化的对象</param>
        /// <returns></returns>
        public static string ToMSSQL(this String obj)
        {
            return obj.Replace("'", "''").Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]");
        }
    }
    View Code

    在asp.net程序设计中,为了网页的安全我们经常要做防止SQL注入,下面的这个方法只是

            在一定程度上解决了这个问题:

            添加引用:

            using System.Text.RegularExpressions;

            方法引用

            string str=GetSafeSQL(string value);

             方法如下:

             /// <summary>
             /// 过滤SQL非法字符串
             /// </summary>
             /// <param name="value"></param>
             /// <returns></returns>
            public static string GetSafeSQL(string value)
            {
                if (string.IsNullOrEmpty(value))
                    return string.Empty;
                value = Regex.Replace(value, @";", string.Empty);
                value = Regex.Replace(value, @"'", string.Empty);
                value = Regex.Replace(value, @"&", string.Empty);
                value = Regex.Replace(value, @"%20", string.Empty);
                value = Regex.Replace(value, @"--", string.Empty);
                value = Regex.Replace(value, @"==", string.Empty);
                value = Regex.Replace(value, @"<", string.Empty);
                value = Regex.Replace(value, @">", string.Empty);
                value = Regex.Replace(value, @"%", string.Empty);
                return value;
            }

    测试

    create table #test1
    (name varchar(200))
    insert into #test1 values('sdfdsfdsf%')
    insert into #test1 values('sdfdsfdsf')
    
    select * from #test1 where name like '%[%]%'
    drop table #test1
  • 相关阅读:
    create_pascal_tf_record.py 生成的record一直为0字节
    移植别人的vcpkg包到自己的项目
    评价目标检测(object detection)模型的参数:IOU,AP,mAP
    python 当文件目录不存在时,如何自动创建
    Spring validator常用注解
    @Slf4j的使用
    spring @Validated 注解开发中使用group分组校验
    @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常==》记录
    idea 创建各种类型项目(pom,jar.web)
    Linux下RabbitMQ服务器搭建
  • 原文地址:https://www.cnblogs.com/xiaoruilin/p/13604046.html
Copyright © 2020-2023  润新知