SqlParameter防止SQL注入


 

  SQL注入的解决方案有好几种,待我细细研究过之后逐一讲解。

方法一:SqlParameter方法

这里有一篇博客是详细介绍SqlParameter的,可以看看 点我

string sqlStr="select * from Table where Id=@AutoID";
  SqlParameter[] parameters = {
    new SqlParameter("@AutoID", SqlDbType.Int,4) };
  parameters[0].Value = AutoID;
cmd.Parameters.Add(parameters);  //如此调用

  如果参数不止一个的话,就多new几个,然后使用AddRange()方法就可以。

大概就是上面代码的那样子是最常使用的。

SqlParameter方法的原理呢,就是参数化查询时,用户输入的参数仅仅作为参数而永远不会作为查询语句的一部分

什么意思呢?直白的讲,参数化之后,用户输入的东西仅仅的SQL语句的参数,在执行的时候加上 '' 它仅仅作为参数,不会变成SQL逻辑语句的一部分。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM