+ -
当前位置:首页 → 问答吧 → 防sql注入代码:ASP防SQL注入的两种函数代码

防sql注入代码:ASP防SQL注入的两种函数代码

时间:2010-05-14

来源:互联网

FunctionSafeRequest(ParaName,ParaType) 
’---传入参数--- 
’ParaName:参数名称-字符型 
’ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符) 

DimParaValue 
ParaValue=Request(ParaName) 
IfParaType=1then 
IfnotisNumeric(ParaValue)then 
Response.write\"参数\"&ParaName&\"必须为数字型!\" 
Response.end 
Endif 
Else 
ParaValue=replace(ParaValue,\"’\",\"’’\") 
Endif 
SafeRequest=ParaValue 
Endfunction 

用SafeRequest(ParaName,ParaType)代替request.form(\"\")和request..querystring(\"\") 

********************************************************************************************************* 

------------------------------------------------------------------------------------------------------------------------------------------- 

********************************************************************************************************* 

<% 
dimsql_injdata 
sql_injdata=\"’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare\" 
sql_injHint=replace(sql_injdata,\"|\",\"\") 
sql_injHint=replace(sql_injHint,\"’\",\"’\") 
sql_inj=split(sql_injdata,\"|\") 

ifrequest.querystring<>\"\"then 
foreachgetDatainrequest.querystring 
fori=0toubound(sql_inj) 
ifinstr(lcase(request.querystring(getData)),sql_inj(i))>0then 
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\" 
hint=replace(hint,\"@sql_injHint@\",sql_injHint) 
response.write\"<scriptlanguage=javascript>\" 
response.writehint 
response.write\"history.back()\" 
response.write\"</script>\" 
response.end 
endif 
next 
next 
endif 

ifrequest.form<>\"\"then 
foreachgetDatainrequest.querystring 
fori=0toubound(sql_inj) [Page]
ifinstr(lcase(request.form(getData)),sql_inj(i))>0then 
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\" 
hint=replace(hint,\"@sql_injHint@\",sql_injHint) 
response.write\"<scriptlanguage=javascript>\" 
response.writehint 
response.write\"history.back()\" 
response.write\"</script>\" 
response.end 
endif 
next 
next 
endif 
%>将此段代码形成一个文件(如:defanj.asp),将所有要用到数据库的文件头部加入<!--#includefile=defanj.asp--> 
  

作者: dadaibaby8   发布时间: 2010-05-14

该回复于2010-05-17 08:30:06被版主删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#2楼 得分:0回复于:2010-05-16 10:39:23
用存储过程吧

作者: ivy999   发布时间: 2010-05-16