on error resume next'这行代码放到conn.asp的第一行。
'防止注入
dim qs,errc,iii qs=request.servervariables("query_string") 'response.write(qs) dim deStr(18) deStr(0)="net user" deStr(1)="xp_cmdshell" deStr(2)="/add" deStr(3)="exec%20master.dbo.xp_cmdshell" deStr(4)="net localgroup administrators" deStr(5)="select" deStr(6)="count" deStr(7)="asc" deStr(8)="char" deStr(9)="mid" deStr(10)="'" deStr(11)=":" deStr(12)="""" deStr(13)="insert" deStr(14)="delete" deStr(15)="drop" deStr(16)="truncate" deStr(17)="from" deStr(18)="%" errc=false for iii= 0 to ubound(deStr) if instr(qs,deStr(iii))<>0 then errc=true end if next if errc then Response.Write("对不起,非法URL地址请求!") response.end end if
将这段代码放到你的数据库连接文件如conn.asp中。把它插入到数据库连接代码的前面。因为所有连接库的文件都要include conn.asp这个文件,这样对于每个页面,如果有非法注入,则我们能在数据库连接之前停止页面的执行。达到了全站防止注入的功能。
Tags:代码 注入 防止 全站 deStr errc 连接 qs if 数据库 文件
|