ASP上两个防止SQL注入式攻击Function函数

''==========================
''过滤提交表单中的SQL
''==========================
function ForSqlForm()
dim fqys,errc,i,items
dim nothis(18)
nothis(0)='net user'

nothis(1)='xp_cmdshell'

nothis(2)='/add'

nothis(3)='exec%20master.dbo.xp_cmdshell'

nothis(4)='net localgroup administrators'

nothis(5)='select'

nothis(6)='count'

nothis(7)='asc'

nothis(8)='char'

nothis(9)='mid'

nothis(10)=''''

nothis(11)=':'

nothis(12)=''''

nothis(13)='insert'

nothis(14)='delete'

nothis(15)='drop'

nothis(16)='truncate'

nothis(17)='from'

nothis(18)='%'

''nothis(19)='@' 

errc=false

for i= 0 to ubound(nothis)
  for each items in request.Form
  if instr(request.Form(items),nothis(i))<>0 then
   response.write('<div>')
   response.write('你所填写的信息:' & server.HTMLEncode(request.Form(items)) & '<br>含非法字符:' & nothis(i))
   response.write('</div>')
   response.write('对不起,你所填写的信息含非法字符!<a href=''#'' οnclick=''history.back()''>返回</a>')
   response.End()
  end if
  next
next
end function
''==========================

 


''过滤查询中的SQL
''==========================
function ForSqlInjection()
dim fqys,errc,i
dim nothis(19)
fqys = request.ServerVariables('QUERY_STRING')
nothis(0)='net user'

nothis(1)='xp_cmdshell'

nothis(2)='/add'

nothis(3)='exec%20master.dbo.xp_cmdshell'

nothis(4)='net localgroup administrators'

nothis(5)='select'

nothis(6)='count'

nothis(7)='asc'

nothis(8)='char'

nothis(9)='mid'

nothis(10)=''''

nothis(11)=':'

nothis(12)=''''

nothis(13)='insert'

nothis(14)='delete'

nothis(15)='drop'

nothis(16)='truncate'

nothis(17)='from'

nothis(18)='%'

nothis(19)='@' 

errc=false

for i= 0 to ubound(nothis)

if instr(FQYs,nothis(i))<>0 then

errc=true

end if

next

if errc then
response.write '查询信息含非法字符!<a href=''#'' οnclick=''history.back()''>返回</a>'
response.end

end if

end function 



 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值