防SQL注入:生成参数化的通用分页查询语句_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

防SQL注入:生成参数化的通用分页查询语句

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:查询语句通用参数
黑客防线网安网讯:  前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章,才突然想起某个项目也是使用了累似的通用分页存储过程。使用这种通用的存储过程进行分页查询,想要防...

  前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章才突然想起某个项目也是使用了累似的通用分页存储过程使用这种通用的存储过程进行分页查询想要防SQL注入,只能对输入的参数进行过滤,例如将一个单引号“'”转换成两个单引号“''”,但这种做法是不安全的,厉害的黑客可以通过编码的方式绕过单引号的过滤,要想有效防SQL注入,只有参数化查询才是最终的解决方案但问题就出在这种通用分页存储过程是在存储过程内部进行SQL语句拼接,根本无法修改为参数化的查询语句,因此这种通用分页存储过程是不可取的。但是如果不用通用的分页存储过程,则意味着必须为每个具体的分页查询写一个分页存储过程,这会增加不少的工作量。

  经过几天的时间考虑之后,想到了一个用代码来生成参数化的通用分页查询语句的解决方案。代码如下:

  public class PagerQuery
  {
    private int _pageIndex;
    private int _pageSize = 20;
    private string _pk;
    private string _fromClause;
    private string _groupClause;
    private string _selectClause;
    private string _sortClause;
    private StringBuilder _whereClause;
    public DateTime DateFilter = DateTime.MinValue;
  
    protected QueryBase()
    {
      _whereClause = new StringBuilder();
    }
  
    /**//// <summary>
    /// 主键
    /// </summary>
    public string PK
    {
      get { return _pk; }
      set { _pk = value; }
    }
  
    public string SelectClause
    {
      get { return _selectClause; }
      set { _selectClause = value; }
    }
  
    public string FromClause
    {
      get { return _fromClause; }
      set { _fromClause = value; }
    }
  
    public StringBuilder WhereClause
    {
      get { return _whereClause; }
      set { _whereClause = value; }
    }
  
    public string GroupClause
    {
      get { return _groupClause; }
      set { _groupClause = value; }
    }
  
    public string SortClause
    {
      get { return _sortClause; }
      set { _sortClause = value; }
    }
  
    /**//// <summary>
    /// 当前页数
    /// </summary>
    public int PageIndex
    {
      get { return _pageIndex; }
      set { _pageIndex = value; }
    }

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-9699-1.html
网站维护教程更新时间:2012-03-21 02:24:03  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer