加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

使用ASP和SQL可以实现安全性滤波器,并提取相关数据

发布时间:2023-07-19 14:18:48 所属栏目:Asp教程 来源:
导读:下面的代码是从aspcms系统中扒下的代码,在获取参数值与sql安全过滤参数方面做了限制

代码如下:

'获取参数值

Function getForm(element,ftype)

Select case ftype

case "get"

getForm=tr
下面的代码是从aspcms系统中扒下的代码,在获取参数值与sql安全过滤参数方面做了限制
 
代码如下:

'获取参数值
 
Function getForm(element,ftype)
 
Select case ftype
 
case "get"
 
getForm=trim(request.QueryString(element))
 
case "post"
 
getForm=trim(request.Form(element))
 
case "both"
 
if isNul(request.QueryString(element)) then getForm=trim(request.Form(element)) else getForm=trim(request.QueryString(element))
 
End Select
 
getForm=replace(getForm,CHR(34),""")
 
getForm=replace(getForm,CHR(39),"'")
 
End Function
 
'主要功能就是获取参数值,比直接用request("element")要安全很多
 
'过滤参数
 
Function filterPara(byVal Para)
 
filterPara=preventSqlin(Checkxss(Para))
 
End Function
 
Function preventSqlin(content)
 
dim sqlStr,sqlArray,i,speStr
 
sqlStr="<|>|%|%27|'|''|;|*|and|exec|dbcc|alter|drop|insert|select|update|delete|count|master|truncate|char|declare|where|set|declare|mid|chr"
 
if isNul(content) then Exit Function
 
sqlArray=split(sqlStr,"|")
 
for i=lbound(sqlArray) to ubound(sqlArray)
 
if instr(lcase(content),sqlArray(i))<>0 then
 
select case sqlArray(i)
 
case "<":speStr="<"
 
case ">":speStr=">"
 
case "'","""":speStr="""
 
'case ";":speStr=";"
 
case else:speStr=""
 
end select
 
content=replace(content,sqlArray(i),speStr,1,-1,1)
 
end if
 
next
 
preventSqlin=content
 
End Function
 
'上面的参数过滤函主要是防止sql注入,加强的防护。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章