English
 电子信箱
 加入收藏

  威盾防火墙 >> 支持与下载 >> 技术文章 >> 防止黑客发起 SQL注入的方法

 

防止黑客发起 SQL注入的方法

威盾防火墙 2009-06-08

 

网站要做足安全, 特别是对防SQL注入, 因为大多数程序员都会很粗心大意而导致网站被黑。

  php脚本:

  基本上php本身就带有类似功能的函数了, 比如mysql_real_escape_string, addslashes等.

  大多数虚拟主机商比如耐思尼克(都会开启了magic_quotes_gpc这个选项, 那提交数据时, 会自动执行了addslashes这个函数, 这样就可以杜绝大多数的注入了

  另外因为mysql是不分数字还是文本,都可以用''来括住, 所以建议在写sql的时候, 参数都用''来括起来

  使用方法如下:

  $query = mysql_real_escape_string("SELECT * FROM products WHERE name='$productname'");

  asp脚本:

  FUNCTION CHECKSTR(ISTR)

  DIM ISTR_FORM,SQL_KILL,SQL_KILL_1,SQL_KILL_2,ISTR_KILL

  IF ISTR="" THEN EXIT FUNCTION

  ISTR=LCase(ISTR)

  ISTR_FORM=ISTR

  SQL_KILL="' and exec insert

   select delete update count * % chr mid master truncate char declare set ; from ="

  SQL_KILL_1=SPLIT(SQL_KILL," ")

  FOR EACH SQL_KILL_2 IN SQL_KILL_1

  ISTR=REPLACE(ISTR,SQL_KILL_2,"")

  NEXT

  CHECKSTR=ISTR

  ISTR_KILL=REPLACE(ISTR_FORM,ISTR,"")

  IF ISTR<>ISTR_FORM THEN

  RESPONSE.WRITE " "

  RESPONSE.END

  END IF

  END FUNCTION

        C#脚本:

  bool CheckParams(params object[] args)

  {

  string[] Lawlesses={"=","'"};

  if(Lawlesses==null  Lawlesses.Length<=0)return true;

  //构造正则表达式,例:Lawlesses是=号和'号,则正则表达式为 .*[=}'].* (正则表达式相关内容请见MSDN)

  //另外,由于我是想做通用而且容易修改的

  函数,所以多了一步由字符数组到正则表达式,实际使用中,直接写正则表达式亦可;

  string str_Regex=".*[";

  for(int i=0;i< Lawlesses.Length-1;i++)

  str_Regex+=Lawlesses+" ";

  str_Regex+=Lawlesses[Lawlesses.Length-1]+"].*";

  //

  foreach(object arg in args)

  {

  if(arg is string)//如果是字符串,直接检查

  {

  if(Regex.Matches(arg.ToString(),str_Regex).Count>0)

  return false;

  }

  else if(arg is ICollection)//如果是一个集合,则检查集合内元素是否字符串,是字符串,就进行检查

  {

  foreach(object obj in (ICollection)arg)

  {

  if(obj is string)

  {

  if(Regex.Matches

  (obj.ToString(),str_Regex).Count>0)

  return false;

  }

  }

  }

  }

  return true;

  }


相关内容: 最新内容:
美国军工企业为网络战招募黑客[2009-06-05]
黑客跟风油价上涨 中石油集团官网被挂马[2009-06-04]
银行成网络攻击点 国外黑客年收十几万欧元[2009-06-04]
大型网站频遭挂马 黑客利用漏洞传播病毒[2009-06-03]
数十家黑客网用暴风影音漏洞传病毒[2009-06-03]
SQL注入攻击的种类和防范手段[2009-06-02]
企业确保出站内容安全的五个步骤[2009-06-08]
检测你的Web系统有多少安全漏洞[2009-06-08]
最易被“挂马”的几类网站及防范[2009-06-08]
中国京剧门户网站暗藏木马 戏迷电脑遇袭[2009-06-08]
通网网站被大规模挂马 15个频道中毒[2009-06-08]
网站长期被挂马 访问者屡遭木马侵害[2009-06-08]