预防SQL注入攻击之我见

  SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行。
  每个程序员都必须肩负起防止SQL注入攻击的责任。
  说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。当不知道注入原理的时候会觉得很神奇,怎么就被注入了呢?会觉得很难预防。但是当知道了注入原理之后预防不就是很简单的事情了吗?

  第一次听说SQL注入攻击的时候还是在2004年(好像得知的比较晚),那是还是在写ASP呢。在一次写代码的时候,有同事问我,你的这段代码防注入攻击了吗?什么攻击?这是什么呀。
  后来到网上各种找,终于弄明白了是怎么攻击进来的了。注入攻击都是来自于客户端,无论是表单提交、URL传值还是Cookie等,其实原理都是一样的。到了服务器端可以分成三种情况:数字、日期时间、字符串。

一、数字。

  如何注入?

  假设我们要实现一个显示新闻的页面,我们可能会随手写下下面的代码:

string id = Request.QueryString["id"];
string sql = "select * from news where ColID=" + id;

NET技术预防SQL注入攻击之我见,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。