请问如果用参数的话是不是防止JS和SQL攻击的最有效办法?为什么??有没有演示的代码怎么做?

解决方案 »

  1.   

    太多拉,。NET里使用SQLCOMMAND,使用存储过程拉。
      

  2.   

    像这种是吗?
    string sqlstring = "select * from [table] wher name=@name";
    SqlCommand MyCommand = new SqlCommand(sqlstring,myconnection);
    MyCommand.Parameters.Add("@name",SqlDbType.NVarChar,50).Value=Name.Text;
      

  3.   

    sql还是用存储过程的好,用户权限要分细,不要给sa,楼上说的对呀。
    最好不要用替换的方法。
      

  4.   

    http://blog.csdn.net/goody9807/articles/199076.aspx
      

  5.   

    如果用sql语句,最好Replace("'","''")
      

  6.   

    1、对文本输入的内容进行过滤将SQL中使用的一些特殊符号用Replace过滤掉2、限制文本的长度3、监察数据的合法性,可以通过正则表达式来限定4、使用带参数的SQL语句形式
      

  7.   

    使用带参数的sql语句,可以确保从外部源接收到的值仅作为值传递,而不做为sql语句的一部分来传递,可以防止参数受到SQL注入式攻击。你的写法正确。