使用Convert.to32 转换传来的参数(只限数字参数),可以防注入吗我感觉。如果传来 select 。字符。通过 Convert.to32()  转换成数字,肯定出错。就不会被sql注入我不知道我的想法对不对。

解决方案 »

  1.   

    不明白SQL注入的根本 我是来学习的 
      

  2.   

    用parameters才是防注入的正解!
      

  3.   

    如果是数字,这样可以防注入的。但是我一般这样写int a=0;
    int.TryParse(Request.QueryString["id"],out a);
    if(a>0)
    {
    .....................
    }
      

  4.   

    想法可以。但是,作为一个好的程序,不应该等它出异常了才去处理,应该尽量避免异常。你可以使用int.TryParse()来转换成数字。不会抛异常的。
      

  5.   

    string s="";
    int i=0;
    int.TryParse(s,out i);
      

  6.   


    string id = Request["ID"];
                try
                {
                    Convert.ToInt32(id);
                }
                catch
                {
                    ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('页面不存在');history.go('-1');</script>");
                    return;
                }这样可行不?