Sql注入-防小试

using System;

namespace Common
{
 /// <summary>
 /// CheckParameter 的摘要说明。
 /// </summary>
 public class CheckParameter
 {
  public CheckParameter()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  public static String[] chk = {
           " ",
           "'",
           "=",
           "-",
           "+",
           "\\",
           "/",
           "<",
           ">",
           "*",
           "%",
           "and",
           "exec",
           "insert",
           "select",
           "delete",
           "update",
           "count",
           "chr",
           "mid",
           "master",
           "truncate",
           "char",
           "declare"
          };
 
  /// <summary>
  /// 过滤字符串,是否包含指定的字符
  /// </summary>
  /// <param name="strParameter"></param>
  /// <returns>bool</returns>
  public  static  bool IsDangerChar(string strParameter)
  {
   bool flag = false;
   for(int i = 0;i<chk.Length; i ++)
   {
    if(strParameter.IndexOf(chk[i].ToLower()) >= 0)
    {
    
     flag = true;
     break;
    }
    else
    {
     flag = false;
    }
   }
   return flag;
  }
  /// <summary>
  /// 参数是否只包含数字
  /// </summary>
  /// <param name="strId"></param>
  /// <returns>bool</returns>
  public static bool IsNumber(string strId)
  {
   Char[] pn =strId.ToCharArray();
   bool flag = false;
   for(int i=0;i<pn.Length;i++)
   {
    if(pn[i] == '1')
    {
     flag = true;
    }
    else if( pn[i] == '2')
    {
     flag = true;
    }
    else if( pn[i] == '3')
    {
     flag = true;
    }
    else if( pn[i] == '4')
    {
     flag = true;
    }
    else if( pn[i] == '5')
    {
     flag = true;
    }
    else if( pn[i] == '6')
    {
     flag = true;
    }
    else if( pn[i] == '7')
    {
     flag = true;
    }
    else if( pn[i] == '8')
    {
     flag = true;
    }
    else if( pn[i] == '9')
    {
     flag = true;
    }
    else if( pn[i] == '0')
    {
     flag = true;
    }
    else
    {
     flag = false;
     break;
    }
   }
   return flag;
  }
 
 }
}

还要根据数据库中字段数值类型的长度,判断参数的长度,否则会出现数据库异常。

最后判断ID是否存在,不存在则需要处理。

posted @ 2007-09-15 16:00  yellowwood  阅读(223)  评论(0编辑  收藏  举报
Never Give UP