导航

« SQL Server安全管理【转载】由Jscript中比较大小想起的一个问题 »

SQL防注入代码JScript版

SQL注入已经流行好几年了。在网上找SQL注入的文章,不计其数。我找了防注入的代码,有很多版本,不过都是VbScript的。就自己根据VbScript的思路写了个Jscript版的。
SQL注入的原理就不多说了,不过就是在get或post数据的时候提交非法的字符串来获得攻击者所需的信息或执行SQL命令,那只要对客户get或post的数据过滤一下非法字符串就可以了。基本思路就这么简单,代码如下:

   //一些非法参数。当然,你自己还可以再加些非法字符串,或去掉一些你认为合法的。
   var sql_injectdata="'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare";
   SQL_inj = sql_injectdata.split("|");
   //过滤get请求参数
   if(Request.QueryString!="")
   { 
       requerystring = new String(Request.QueryString);
     for(var i=0;i<SQL_inj.length;i++)
     {
       if(requerystring.indexOf(SQL_inj[i])>0)
     {
       Response.Write("<Script Language=Javascript>alert('你的IP已被记录,欢迎下次光临,有事你可找我!');history.back(-1);window.open(\"http://www.zhldx.gov.cn/blog/ \")</Script>")
     }
     }
   }
   //过滤post数据
   if(Request.Form!="")
   { 
       reform = new String(Request.Form);
     for(var j=0;j<SQL_inj.length;j++)
     {
       if(reform.indexOf(SQL_inj[i])>0)
     {
       Response.Write("<Script Language=Javascript>alert('你的IP已被记录,欢迎下次光临!');history.back(-1);window.open(\"http://www.zhldx.gov.cn/blog/ \")</Script>")
     }
     }
   }


这些代码,放在你连接数据库代码之前就可以了

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By SunK

Copyright 2005-2006 sunk.cn 蜀ICP备06007105号