Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22740
  • 博文数量: 20
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-21 10:39
文章分类
文章存档

2009年(20)

我的朋友
最近访客

分类: 网络与安全

2009-09-29 10:05:26

 

一般的http请求不外乎 get 和 post两种,如果过滤掉所有post或者get请求中的参数信息中的非法字符,那么也就实现了防SQL注入。 首先定义请求中不能包含如下字符:'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare   各个字符用"|"隔开,然后再判断Request.QueryString,具体代码如下:get请求的非法字符过滤:dim sql_injdata SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" SQL_inj = split(SQL_Injdata,"|") If Request.QueryString<>"" Then For Each SQL_Get In Request.QueryString   For SQL_Data=0 To Ubound(SQL_inj)    if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then     Response.Write ""     Response.end    end if   next Next End If post请求的非法字符过滤:If Request.Form<>"" Then For Each Sql_Post In Request.Form   For SQL_Data=0 To Ubound(SQL_inj)    if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then     Response.Write ""     Response.end    end if   next next end if 然后在使用的时候将这两段代码放在数据库连接的文件里一起Include进来即可。
阅读(932) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-09-29 10:17:57

黑!!!