最好用存储过程,不直接用SQL

解决方案 »

  1.   

    要么就用indexof()来判断一下危险字符
      

  2.   

    petshop3中有一个inputstring的函数专门用来处理危险字符和(html字符的)
      

  3.   

    public static string InputText(string inputString, int maxLength)
    {
    StringBuilder retVal = new StringBuilder();
    // check incoming parameters for null or blank string
    if ((inputString != null) && (inputString != String.Empty))
    {
    inputString = inputString.Trim(); //chop the string incase the client-side max length
    //fields are bypassed to prevent buffer over-runs
    if (inputString.Length > maxLength)
    inputString = inputString.Substring(0, maxLength); //convert some harmful symbols incase the regular
    //expression validators are changed
    for (int i = 0; i < inputString.Length; i++)
    {
    switch (inputString[i])
    {
    case '"':
    retVal.Append("&quot;");
    break;
    case '<':
    retVal.Append("&lt;");
    break;
    case '>':
    retVal.Append("&gt;");
    break;
    default:
    retVal.Append(inputString[i]);
    break;
    }
    } // Replace single quotes with white space
    retVal.Replace("'", " ");
    }
    return retVal.ToString();
    }
      

  4.   

    如果这种输入时合法的,你用Parameter的方式来构建Sql语句,不要使用字符创拼接的方式